我们可以使用struts2的titles来做页面基本布局,使得页面看起来统一一致:包括<tiles:insertAttribute name="body"/>和 <tiles:getAsString name="title"></tiles:getAsString>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<title>
<tiles:getAsString name="title"></tiles:getAsString>
</title>
</head>
<BODY>
<div id="body">
<tiles:insertAttribute name="body"/>
</div>
<div id="footer">
<div class="footcontent">
COPYRIGHTS 2012 . ALL RIGHTS RESERVED.
</div>
</div>
</BODY>
</html>
同时在配置文件titles.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="popupNullLayout" template="/_layout/popup_layout.jsp"> <put-attribute name="title" value="EQUI"/> <put-attribute name="body" value="/body.jsp"/> </definition> <definition name="indexPack.index" template="/_layout/mainLayout.jsp"> <put-attribute name="title" value="TEST"/> <put-attribute name="body" value="/_template/main/main.html"/> </definition> </tiles-definitions>
其中:
<put-attribute name="title" value="EQUI"/>
<put-attribute name="body" value="/body.jsp"/>
title就是我们在html页面中需要读取的<tiles:getAsString name="title"></tiles:getAsString>;例如:在<put-attribute name="title" value="EQUI"/>中将title的value值设置成“EQUI”,那么所有以这个页面为模版的页面的title就都是EQUI;
body就是html中需要插入的<tiles:insertAttribute name="body"/>;例如:使用<put-attribute name="body" value="/body.jsp"/>,即是value值设置的页面都会显示在<tiles:insertAttribute name="body"/>设定的位置上。