sample1
被请求的网页如此定义 some.jsp
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<tiles:insertDefinition name="some.definition" />
没什么好说的,第一句是引入Tiles的标签库,第二句是插入Tiles的definition
等等 layout登场 也是个jsp文件
<table border="2" width="300" bordercolor="Gray">
<tr>
<td bgcolor="Blue"><strong><tiles:getAsString name="title"/></strong></td>
</tr>
<tr>
<td><tiles:insertAttribute name="header"/></td>
</tr>
<tr>
<td><tiles:insertAttribute name="body"/></td>
</tr>
</table>
<!--只是平常的表格,具体内容是tiles的attribute>
<!--个人目前这样理解,template就像我们平时的jsp页面,只不过其中具体内容被定义成attribute>
<!--而跟平时一样的jsp页面也是template,只不过是比较特殊的一种 例如body.jsp或者header.jsp>
实际上我们看到的网页就是layout.jsp的样子
那么用户请求some.jsp时候tiles框架又是怎么知道各个页面之间的关系的呢。来看tiles-defs.xml
<definition name="some.definition" template="/layout.jsp">
<!--接上头了,hoho> <put-attribute name="title" value="This is the title."/> <put-attribute name="header" value="/header.jsp"/> <put-attribute name="body" value="/body.jsp"/> </definition>