Tiles是一种layout的概念,可以将一个页面拆分成多个部分。比如:title,header,body,bottom等等。在一个项目中,这些部分有可能是相同的。这时使用Tiles配置相同的部分再好不过了。下面是配置Tiles的过程:
1,在项目中引入tiles依赖的包,比如:
tiles-api-2.0.6.jar,tiles-jsp-2.0.6.jar,struts2-tiles-plugin-2.2.3.jar,tiles-core-2.0.6.jar等等。
2,创建一个模板页面,抽取出公共的部分。比如:
pageEncoding=”UTF-8″%>
String path = request.getContextPath();
String basePath = request.getScheme()+”://”+request.getServerName()+”:”+request.getServerPort()+path+”/”;
%>
//引入tiles标签
-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
” />
//公共部分title
//公共部分head
//公共部分middle
//公共部分foot
3,创建一个tiles配置文件main.xml配置如下:
-//Apache Software Foundation//DTD Tiles Configuration
2.0//EN” “http://tiles.apache.org/dtds/tiles-config_2_0.dtd”>
文件中配置了模板文件中,各个部分所对应的内容页面。
4,在web.xml中配置加载tiles中的main.xml文件
org.apache.tiles.CONTAINER_FACTORY
org.apache.struts2.tiles.StrutsTilesContainerFactory
org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG
/WEB-INF/tiles/main.xml
5,在struts.xml文件中配置。
${targetUrl}
${targetUrl}
配置中的${targetUrl}需要在xxxAction中返回才行。
6,在action中返回targetUrl。
在action中创建一个属性targetUrl,并设置其setter和getter方法。然后在return SUCCESS;前设置如:setTargetUrl(“index”);则struts2就知道去main.xml文件中找name=”index”的配置,并根据模板页封装好整个页面。
更多:http://www.javaxxz.com/thread-67444-1-1.html