Tiles框架的配置
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 如下:
<?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>
<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>
<?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" type="tiles">xixi.haha</result></action></package></struts>
package com;public class XXAction {public String execute(){return "success";}}
<%@ 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>
.... <form action="XXAction.do" method="post"> <input type="submit"/> </form>