struts2.1.6集成tiles2

来源:互联网 发布:雷欧mac炸奥特之星 编辑:程序博客网 时间:2024/05/22 14:50
搭建struts2框架:(2.1.6)
1、引入jar包struts2.1.6
    xwork-2.1.2.jar
    commons-fileupload-1.2.1.jar
    commons-io-1.3.2.jar
    commons-logging-1.1.jar

    freemarker-2.3.13.jar
    ognl-2.6.11.jar
    struts-core-2.1.6.jar
   tiles包
   commons-beanutils-1.7.0.jar
   commons-collections-3.2.jar
   commons-digester-1.8.jar

   struts2-tiles-plugin-2.1.6.jar
   tiles-api-2.0.6.jar
   tiles-core-2.0.6.jar
   tiles-jsp-2.0.6.jar
注意:红色的jar包是依赖的包,或者是以后会用到的包
2、web.xml配置过滤器和监听器
增加:
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <context-param>
        <param-name>org.apache.tiles.CONTAINER_FACTORY</param-name>
        <param-value>org.apache.struts2.tiles.StrutsTilesContainerFactory</param-value>
    </context-param>
    <context-param>
        <param-name>org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG</param-name>
        <param-value>/WEB-INF/tiles.xml</param-value>
    </context-param>
    
    <listener>
        <listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-class>
    </listener>


3、新建struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <package name="default" extends="tiles-default">
        <action name="XXAction" class="com.XXAction">
        <result name="success" type="tiles">xixi.haha</result>
    </action>
</package>
</struts>
注意:extends需要填写tiles-default,result中type=“tiles”,并且xixi.haha是在tiles中定义的模版
4、新建tiles.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN" "http://tiles.apache.org/dtds/tiles-config_2_0.dtd">
<tiles-definitions>
<definition name="xixi.haha" template="/jsp/layout.jsp">
<put-attribute name="header" value="/jsp/head.jsp"/>
<put-attribute name="sidebar" value="/jsp/sidebar.jsp"/>
<put-attribute name="contant" value="/jsp/contant.jsp"/>
<put-attribute name="footer" value="/jsp/foot.jsp"/>
</definition>
</tiles-definitions>
注意tiles2中使用的是template,而tiles1使用的是path,并且tiles2使用的是put-attribute,而1使用的是put
5、引入tiles-jsp.tld文件
6、在jsp文件夹下新建layout.jsp,head.jsp,sidebar.jsp,contant.jsp,foot.jsp文件。
7、layout.jsp文件内容
<%@ taglib uri="/WEB-INF/tiles-jsp.tld " prefix="tiles"%>
<html>
<head></head>
<body>
<table>
<tr>
<td colspan="2"><tiles:insertAttributename="header" ignore="true"></tiles:insertAttribute>
</td>
</tr>
<tr>
<td><tiles:insertAttribute name="sidebar" ignore="true"></tiles:insertAttribute>
</td>
<td><tiles:insertAttribute name="contant"></tiles:insertAttribute>
</td>
</tr>
<tr>
<td colspan="2"><tiles:insertAttribute name="footer" ignore="true"></tiles:insertAttribute>
</td>
</tr>
</table>
</body>
</html>
分成了三层的结构,中间一层有两个td。
8、新建com.XXAction.java文件
package com;
public class XXAction {
    public String execute() {
        return "success";
    }
}
9、index.jsp
<form action="XXAction" method="post">
    <input type="submit"/>
</form>


原创粉丝点击