首页 / 软件开发 / JAVA / Struts1.x系列教程(23):使用Tiles模板进行布局
Struts1.x系列教程(23):使用Tiles模板进行布局2011-01-10 BlogJava 银河使者Tiles提供的模板机制可以最大限度地避免重复编写代码。实际上,Tiles模板就是的JSP页面,只是在这种JSP页面中使用Tiles标签代替确定不了的内容(相当于占位符),也就是需要在开发人员使用模板时来确定的内容。除了这一点,Tiles模板页面和普通的JSP页面完全相同。一般的模板页面可以有如下两种占位符:1.字符串:使用<tiles:getAsString>标签进行占位。如<tiles:getAsString name = "title" />。2.Web资源(包括JSP、Servlet、HTML等):使用<tiles:insert>标签来占位,如<tiles:insert attribute="header" />。下面我们来看一下如何编写一个Tiles模板。在Web根目录中建立一个layout.jsp文件,代码如下:<%@ page pageEncoding="GBK"%>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>
<html>
<head>
<title><tiles:getAsString name="title" /></title>
</head>
<body>
<table border=<tiles:getAsString name="border" />>
<tr>
<td>
<tiles:insert attribute="header" />
</td>
</tr>
<tr>
<td>
<tiles:insert attribute="body" />
</td>
</tr>
<tr>
<td>
<tiles:insert attribute="footer" />
</td>
</tr>
</table>
</body>
</html>从上例可以看出有五处占位符,这些内容将由开发人员在使用layout.jsp模板时指定。在编写完上述模板后,在Web根目录中建立三个在模板中使用的JSP文件,代码如下:header.jsp
<%@ page pageEncoding="GBK"%>
这是一个页头
body.jsp
<%@ page pageEncoding="GBK"%>
这是一个页体
footer.jsp
<%@ page pageEncoding="GBK"%>
这是一个页尾下面我们来使用这个模板。在Web根目录中建立一个mypage.jsp文件,代码如下:<%@ page contentType="text/html; charset=GBK"%>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>
<tiles:insert page="layout.jsp">
<tiles:put name="title" value="我的页面" />
<tiles:put name="border" value="${param.border}"/>
<tiles:put name="header" value="header.jsp"/>
<tiles:put name="body" value="body.jsp"/>
<tiles:put name="footer" value="footer.jsp"/>
</tiles:insert>