Struts2的 Tiles 配置步骤
Tiles 配置步骤
1. 项目中导入Tiles JAR文件
?(1) tiles-core-version.jar
?(2) tiles-api-version.jar
?(3) tiles-jsp-version.jar
?(4) Jakarta common BeanUtiles
?(5) Jakarta common Logging
?(6) Jakarta common Digester?
?(7) Struts2-tiles-plugin-version.jsp
?
2. 配置Tiles Listener初始化参数, 用于设置Tiles 组装文件位置和名称
?? /WEB-INF/web.xml
?? ?<context-param>
?? ? ? ?<param-name>
?? ? ? ? ?org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG
?? ? ? ?</param-name>
?? ? ? ?<param-value>
?? ? ? ? ?/WEB-INF/tiles-defs.xml,/org/apache/tiles/classpath-defs.xml
?? ? ? ?</param-value>
?? ?</context-param>
?
3. ?配置Tiles监听器
?
<listener>
?? ?<listener-class>org.apache.tiles.web.startup.TilesListener</listener-class>
</listener>
?
4. 在WEB-INF/下创建Tiles组装配置文件tiles-defs.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!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=".base" template="/layout/layout.jsp">
?? ? ?<put-attribute name="top" value="/include/top.jsp" />
?? ? ?<put-attribute name="left" value="/include/left.jsp" />
?? ? ?<put-attribute name="bottom" value="/include/bottom.jsp" />
??</definition>
?
??<definition name=".main_page" extends=".base">
?? ? <put-attribute name="body" value="/main/main.jsp"></put-attribute>
??</definition>
?
??<definition name=".employee_main_page" extends=".base">
?? ? <put-attribute name="body" value="/employee/main.jsp"></put-attribute>
??</definition>
??<definition name=".employee_add_page" extends=".base">
?? ? <put-attribute name="body" value="/employee/add.jsp"></put-attribute>
??</definition>
<!-- =================================== 产品类别页面配置========================================== -->
?
<!-- =================================== 产品页面配置========================================== -->
??<definition name=".product_main_page" extends=".base">
?? ? <put-attribute name="body" value="/product/main.jsp"></put-attribute>
??</definition>
??<definition name=".product_add_page" extends=".base">
?? ? <put-attribute name="body" value="/product/add.jsp"></put-attribute>
??</definition>
?? <definition name=".product_modify_page" extends=".base">
?? ? <put-attribute name="body" value="/product/modify.jsp"></put-attribute>
??</definition>
?? <definition name=".product_delete_page" extends=".base">
?? ? <put-attribute name="body" value="/product/delete.jsp"></put-attribute>
??</definition>
?? <definition name=".product_view_page" extends=".base">
?? ? <put-attribute name="body" value="/product/view.jsp"></put-attribute>
??</definition> ?
?
</tiles-definitions>
?
5. 创建模板文件 /layout/layout.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
?? ?pageEncoding="UTF-8"%>
<%@taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>?
?
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<table border="1" width="100%">
??<tr>
?? ? <td><tiles:insertAttribute name="top"></tiles:insertAttribute> </td>
??</tr>
</table>
<table border="1" width="100%">
??<tr>
?? ? <td width="20%"><tiles:insertAttribute name="left"></tiles:insertAttribute> </td>
?? ? <td width="80%"><tiles:insertAttribute name="body"></tiles:insertAttribute> </td>
??</tr>
</table>
<table border="1" width="100%">
??<tr>
?? ? <td><tiles:insertAttribute name="bottom"></tiles:insertAttribute> </td>
??</tr>
</table>
?
</body>
</html>
?
6. Struts2 中转发到Tiles组装文件的配置
?
<package name="main_info" namespace="/main" extends="tiles-default" >
?? ?<action name="toMain" method="toMain">
?? ? ? ?<result name="toMain" type="tiles">.main_page</result>
?</action>
</package>
?
?
?
?
?