Tiles的好处此处不多说了,网上有很多,此处直接上代码:
1.在pom.xml文件中添加对Tiles的依赖
<!-- struts2的tiles依赖 -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-tiles-plugin</artifactId>
<version>2.3.16.1</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-extras</artifactId>
<version>3.0.5</version>
</dependency>
2.在web.xml文件中配置Tiles的Listener
<listener>
<listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-class>
</listener>
3.新建baseLayout.jsp页面, 作为基本布局页
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 配置tiles标签 -->
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>测试tiles</title>
</head>
<body>
hello<br/>
<tiles:insertAttribute name="header"/>
<tiles:insertAttribute name="menu"/>
<tiles:insertAttribute name="content"/>
<tiles:insertAttribute name="bottom"/>
</body>
</html>
4.在WEB-INF目录下新建tiles.xml文件, 是tiles的默认配置文件
文档内容如下:
<?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="/employee/baselayout.jsp">
<put-attribute name="header" value="/employee/header.jsp" />
<put-attribute name="menu" value="/employee/menu.jsp" />
<put-attribute name="content" value="" />
<put-attribute name="bottom" value="/employee/bottom.jsp" />
</definition>
<!-- index页面 -->
<definition name="index" extends="base">
<put-attribute name="content" value="/employee/indexcontent.jsp" />
</definition>
</tiles-definitions>
5.配置action,package要继承tiles-default
<package name="demo" extends="struts-default,tiles-default">
<!-- 返回值类型 -->
<result-types>
<result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" />
</result-types>
<action name="demo" class="com.lubansoft.attendance.action.employee.TestAction">
<result name="success">employee/index.jsp</result>
</action>
</package>