对tiles 的应用,一般用法不在介绍。
对于'成功页面'的应用如下。
以下为tiles-defs.xml中的相关内容:
<!-- 基础母页 --> <definition name="base" path="/base.jsp"> <put name="title" value=" XXXX "></put> <put name="content" value="/commons/blank.jsp" /> <put name="message" value="/commons/blank.jsp" /> </definition>
<!-- 成功页面 --> <definition name="success" path="/error/successMsg.jsp"> <put name="succMsg" value="操作成功"></put> </definition>
<!-- 支付成功 --> <definition name="paySuccess" extends="success"> <put name="title" value="支付成功"></put> <put name="message" value="pay.success" type="definition"/> </definition>
这里,Action中通过mappingForward 找到“paySuccess”,此paySuccess整合的两个页面,一个是base.jsp,另一个是succcessMsg.jsp。
接下来,看看这两个页面。
以下是base.jsp的部分内容:
<TR>
<TD height="6" align="center" vAlign=top>
</TD>
</TR>
<TR>
<TD id="content" height="179" align="center" vAlign="top">
<tiles:insert attribute="content" />
<tiles:insert attribute="message" />
</TD>
</TR>
以下是successMsg.jsp的内容:
<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>
<table width="515" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#CCCCCC">
<table width="100%" border="0" cellpadding="0" cellspacing="1">
<tr>
<td width="496" height="35" align="center" bgcolor="#f0f8fb" background="images/mainbg.jpg"><STRONG>操作成功</STRONG></td>
</tr>
<tr>
<td height="100" align="center" bgcolor="#FFFFFF">
<tiles:getAsString name="succMsg" />
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="123" align="center"><input type="button" class="input_red" value="返 回 首 页" onClick="JavaScript:window.location.href='myVbao.do'">
</td>
</tr>
</table>
这样的做就能在配置文件中定制页面中想要显示的内容,不但很方便,也便于维护整个项目的统一性。