tiles框架的使用与Struts2的整合 1:web.xml 配置 <!-- tiles框架配置start--> <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/tiles-defs.xml</param-value> </context-param> <!-- tiles框架配置end--> <!--struts2 tiles监听start--> <listener> <listener-class> org.apache.struts2.tiles.StrutsTilesListener </listener-class> </listener> <!--struts2 tiles监听end--> 2:新建tiles-defs.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> <!--tiles的模板--> <definition name="layout.test.manager" template="/jsp/layout/layout_test_logined.jsp"> <put-attribute name="header" value="/jsp/layout/top.jsp"/> <put-attribute name="left" value="/jsp/layout/left.jsp"/> <put-attribute name="footer" value="/jsp/layout/footer.jsp"/> </definition> <definition name="go.next" extends="layout.test.manager"> <put-attribute name="detail" value="/next.jsp"/> </definition> </tiles-definitions> 3:配置struts.xml <include file="struts-default.xml"></include> <constant name="struts.action.extension" value="zhupeng,do,html" /> <!--监听包定义 --> <package name="definepackage" namespace="/definepackage" extends="tiles-default"> <interceptors> <interceptor-stack name="interceptorStack"> <interceptor-ref name="defaultStack"/> <interceptor-ref name="token"/> </interceptor-stack> </interceptors> </package> <!-- 缺省包的设置 --> <package name="default" extends="definepackage"> <!-- 进入网站首页 --> <action name="go" class="com.action.MyAction" method="showInfo"> <result type="tiles">go.next</result> </action> </package> 4:layout_test_logined.jsp 布局 <body> <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %> <table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td style="height: 160px;"> <%//登录后顶部Login %> <tiles:insertAttribute name="header"/> </td> </tr> <tr> <td style="height: 100%;" valign="top"> <table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td valign="top" width="15%"> <tiles:insertAttribute name="left"/></td> <td valign="top" align="left" style="text-align: left"><tiles:insertAttribute name="detail"/></td> </tr> </table> </td> </tr> <tr> <td style="height: 30px;"> <tiles:insertAttribute name="footer"/> </td> </tr> </table> </body>