Tiles框架的配置

来源:互联网 发布:mac os山狮系统 编辑:程序博客网 时间:2024/06/08 09:16
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 如下: 
Java代码 
  1. <?xml version="1.0" encoding="GB2312" ?>  
  2. <!DOCTYPE tiles-definitions PUBLIC  
  3.        "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"  
  4.        "http://tiles.apache.org/dtds/tiles-config_2_0.dtd">  
  5.   
  6. <tiles-definitions>  
  7.     <!-- 主页面模板 -->  
  8.     <definition name="xixi.haha" template="/layout.jsp">  
  9.        <put-attribute name="header" value="/head.jsp" />  
  10.        <put-attribute name="sidebar" value="/siderbar.jsp" />  
  11.        <put-attribute name="contant" value="/contant.jsp" />  
  12.        <put-attribute name="footer" value="/footer.jsp" />  
  13.     </definition>  
  14. </tiles-definitions>  


4.在web.xml添加如下: 
Java代码 
  1. <context-param>  
  2.       <param-name>org.apache.tiles.CONTAINER_FACTORY</param-name>  
  3.       <param-value>  
  4.           org.apache.struts2.tiles.StrutsTilesContainerFactory  
  5.       </param-value>  
  6.    </context-param>  
  7.   
  8.    <context-param>  
  9.       <param-name>org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG</param-name>  
  10.       <param-value>/WEB-INF/tiles.xml</param-value>  
  11.    </context-param>  
  12.      
  13.    <filter>  
  14.         <filter-name>struts2</filter-name>  
  15.         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  
  16.     </filter>  
  17.   
  18.     <filter-mapping>  
  19.         <filter-name>struts2</filter-name>  
  20.         <url-pattern>*.action</url-pattern>  
  21.     </filter-mapping>  
  22.      
  23.    <listener>  
  24.        <listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-class>  
  25.     </listener>  



5.struts.xml(src) 
Java代码 
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE struts PUBLIC  
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
  4.     "http://struts.apache.org/dtds/struts-2.0.dtd">  
  5.   
  6. <struts>  
  7.   
  8.     <package name="default" extends="tiles-default">  
  9.         <action name="XXAction" class="com.XXAction">  
  10.             <result name="success" type="tiles">xixi.haha</result>  
  11.         </action>  
  12.     </package>  
  13.   
  14. </struts>  


6.创建XXAction 
Java代码 
  1. package com;  
  2.   
  3. public class XXAction {  
  4.       
  5.     public String execute(){  
  6.           
  7.         return "success";  
  8.     }  
  9.   
  10. }  


7.创建layout.jsp,注意存放路径要和tiles.xml一致 
Java代码 
  1. <%@ page contentType="text/html; charset=UTF-8"%>  
  2. <%@ taglib prefix="s" uri="/struts-tags"%>  
  3. <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>  
  4. <%  
  5.     String path = request.getContextPath();  
  6.     String basePath = request.getScheme() + "://"  
  7.             + request.getServerName() + ":" + request.getServerPort()  
  8.             + path + "/";  
  9. %>  
  10. <html>  
  11.     <head>  
  12.         <title>Tiles演示</title>  
  13.     </head>  
  14.     <body>  
  15.         <table>  
  16.             <tr>  
  17.                 <td>  
  18.                     <tiles:insertAttribute name="header"></tiles:insertAttribute>  
  19.                 </td>  
  20.             </tr>  
  21.             <tr>  
  22.                 <td>  
  23.                     <tiles:insertAttribute name="sidebar"></tiles:insertAttribute>  
  24.                 </td>  
  25.             </tr>  
  26.             <tr>  
  27.                 <td>  
  28.                     <tiles:insertAttribute name="contant"></tiles:insertAttribute>  
  29.                 </td>  
  30.             </tr>  
  31.             <tr>  
  32.                 <td>  
  33.                     <tiles:insertAttribute name="footer"></tiles:insertAttribute>  
  34.                 </td>  
  35.             </tr>  
  36.         </table>  
  37.     </body>  
  38. </html>  



8.创建head.jsp,siderbar.jsp,contant.jsp,footer.jsp 

9.测试,创建index.jsp 
Java代码 
  1. ....        
  2. <form action="XXAction.do" method="post">                
  3.     <input type="submit"/>        
  4. </form>