springmvc4 整合 tiles3

来源:互联网 发布:什么软件才要微商赚钱 编辑:程序博客网 时间:2024/05/16 00:45

源码:http://download.csdn.net/detail/fhxmn14991/8600273

有网友说下载的源码,跑不起来。原因可能是tomcat部署的时候,有问题,导致找不到主页面。可以自己先创建一个web项目,然后把代码拷贝进去运行。也可以网上找tomcat的部署,就是部署到webapps文件夹下,很简单的。

1、首先下载spring和tiles3的jar包,截图如

2、创建spring-mvc.xml   在src下创建com.config,然后放在里面

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd  
    http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
 

  <!-- 搜索的包路径 -->
  <context:component-scan base-package="com.karluto" use-default-filters="false">
    <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
  </context:component-scan>
  <!-- 指定系统寻找controller路径 -->
   <mvc:annotation-driven />
  <!-- 静态资源(js/image)的访问 -->
  <mvc:resources location="/WEB-JC/" mapping="/js/**" />

  <!-- 定义tiles视图解析器 -->
   <bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass">
      <value>org.springframework.web.servlet.view.tiles3.TilesView</value>
    </property>
  </bean>

  <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
    <property name="definitions">
      <list>
        <value>/WEB-INF/tiles.xml</value>
      </list>
    </property>
  </bean>

  <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/jsp/"></property>
    <property name="suffix" value=".jsp"></property>
  </bean>

</beans>

3、tiles.xml  放在WEB-INF下,与web.xml统一目录
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN" "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">
<tiles-definitions>
  <definition name="default.list" template="/WEB-INF/jsp/template/list.jsp">
  <put-attribute name="left" value="/WEB-INF/jsp/template/left.jsp" />
  <put-attribute name="main" value="/WEB-INF/jsp/template/main.jsp" />
  </definition>

  <definition name="*.*ist" extends="default.list" >
    <put-attribute name="main" value="/WEB-INF/jsp/karluto/{1}/{1}_{2}ist.jsp" />
  </definition>
 
  <definition name="*.*" template="/WEB-INF/jsp/template/error.jsp">
  </definition>

</tiles-definitions>
在这我用的是通配符,简洁了不少呐
4、配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>universal</display-name>
 
  <servlet>
    <servlet-name>spring-mvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath*:com/config/spring-mvc.xml</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>spring-mvc</servlet-name>
    <url-pattern>*.action</url-pattern>
  </servlet-mapping>
  <filter>
    <filter-name>utf8-encoding</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>utf-8</param-value>
    </init-param>
    <init-param>
      <param-name>forceEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>utf8-encoding</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
</web-app>
5、然后在WEB-INF下创建jsp/template文件夹,里面放上模板页。

6、Useraction(controller)放在src下com.karluto.action下

package com.karluto.action;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping("/user")
public class UserAction {

    @RequestMapping("/default")
    public ModelAndView indexlist(){
        
        ModelAndView mav = new ModelAndView();
        mav.setViewName("default.list");
        return mav;
    }
    
    @RequestMapping("/userlist")
    public ModelAndView userlist(){
        
        ModelAndView mav = new ModelAndView();
        mav.setViewName("user.list");
        return mav;
    }
    
}

6、大功告成,输入http://localhost:8080/karluto/user/default.action


0 0