Tiles框架用来布局还是很方便的,配置步骤如下:
1、引包(我用的tiles依赖于struts2.1.6)
基本包(6个)
1).commons-logging-1.0.4.jar
2).commons-fileupload-1.2.1.jar
3).ognl-2.6.11.jar
4).struts2-core-2.1.6.jar
5).xwork-2.1.2.jar
6).freemarker-2.3.13.jar
tiles必须包(7个)
1).struts2-tiles-plugin-2.1.6.jar
2).tiles-api-2.0.6.jar
3).tiles-core-2.0.6.jar
4).tiles-jsp-2.0.6.jar
5).commons-digester-1.8.jar
6).commons-collections-3.2.jar
7).commons-beanutils-1.7.0.jar
2、把tiles-jsp-2.0.6.jar包下的tiles-jsp.tld 拷贝到WEB-INF下WEB-INF/tiles-jsp.tld
3、创建tiles.xml放在WEB-INF下WEB-INF/tiles.xml 如下:
4.在web.xml添加如下:
5.struts.xml(src)
6.创建XXAction
7.创建layout.jsp,注意存放路径要和tiles.xml一致
8.创建head.jsp,siderbar.jsp,contant.jsp,footer.jsp
9.测试,创建index.jsp
1、引包(我用的tiles依赖于struts2.1.6)
基本包(6个)
1).commons-logging-1.0.4.jar
2).commons-fileupload-1.2.1.jar
3).ognl-2.6.11.jar
4).struts2-core-2.1.6.jar
5).xwork-2.1.2.jar
6).freemarker-2.3.13.jar
tiles必须包(7个)
1).struts2-tiles-plugin-2.1.6.jar
2).tiles-api-2.0.6.jar
3).tiles-core-2.0.6.jar
4).tiles-jsp-2.0.6.jar
5).commons-digester-1.8.jar
6).commons-collections-3.2.jar
7).commons-beanutils-1.7.0.jar
2、把tiles-jsp-2.0.6.jar包下的tiles-jsp.tld 拷贝到WEB-INF下WEB-INF/tiles-jsp.tld
3、创建tiles.xml放在WEB-INF下WEB-INF/tiles.xml 如下:
- <?xml version="1.0" encoding="GB2312" ?>
- <!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="/layout.jsp">
- <put-attribute name="header" value="/head.jsp" />
- <put-attribute name="sidebar" value="/siderbar.jsp" />
- <put-attribute name="contant" value="/contant.jsp" />
- <put-attribute name="footer" value="/footer.jsp" />
- </definition>
- </tiles-definitions>
4.在web.xml添加如下:
- <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>
- <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>*.action</url-pattern>
- </filter-mapping>
- <listener>
- <listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-class>
- </listener>
5.struts.xml(src)
- <?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>
6.创建XXAction
- package com;
- public class XXAction {
- public String execute(){
- return "success";
- }
- }
7.创建layout.jsp,注意存放路径要和tiles.xml一致
- <%@ page contentType="text/html; charset=UTF-8"%>
- <%@ taglib prefix="s" uri="/struts-tags"%>
- <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme() + "://"
- + request.getServerName() + ":" + request.getServerPort()
- + path + "/";
- %>
- <html>
- <head>
- <title>Tiles演示</title>
- </head>
- <body>
- <table>
- <tr>
- <td>
- <tiles:insertAttribute name="header"></tiles:insertAttribute>
- </td>
- </tr>
- <tr>
- <td>
- <tiles:insertAttribute name="sidebar"></tiles:insertAttribute>
- </td>
- </tr>
- <tr>
- <td>
- <tiles:insertAttribute name="contant"></tiles:insertAttribute>
- </td>
- </tr>
- <tr>
- <td>
- <tiles:insertAttribute name="footer"></tiles:insertAttribute>
- </td>
- </tr>
- </table>
- </body>
- </html>
8.创建head.jsp,siderbar.jsp,contant.jsp,footer.jsp
9.测试,创建index.jsp
- ....
- <form action="XXAction.do" method="post">
- <input type="submit"/>
- </form>