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>


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>



本文基于 http://tech.ddvip.com/2009-09/1252251869131168.html的修改的修改,谢谢他的分享。

你可能感兴趣的:(框架,struts,tiles)