您可以在JSP頁面中直接定義管理版面配置資源,這樣的作法比較簡單,且可以藉由重新定義來達到再用定義檔的目 的,使用上更有彈性,例如我們可以這麼定義一個JSP頁面來管理版面配置資源:
- definition1.jsp
<%@page contentType="text/html; charset=Big5"%> 
<%@taglib prefix="tiles" uri="/tags/struts-tiles"%> 
<tiles:definition id="myLayout" page="/tiles/myLayout.jsp"> 
    <tiles:put name="title"  value="Tiles範例" /> 
    <tiles:put name="header" value="/tiles/header.jsp" /> 
    <tiles:put name="menu"   value="/tiles/menu.jsp" /> 
    <tiles:put name="footer" value="/tiles/footer.jsp" /> 
    <tiles:put name="body"   value="/tiles/body.jsp" /> 
</tiles:definition>  
要使用這個JSP定義檔,可以使用include的方式來達到重複使用的目的,例如:
- test.jsp
<%@taglib prefix="tiles" uri="/tags/struts-tiles"%> 
<%@include file="/tiles/definition1.jsp"%> 
<tiles:insert beanName="myLayout" flush="true"/>  
讀取頁面時,Tiles會建立一個定義檔物件,id為物件的名稱,而之後我們使用beanName來指定定義檔物件的名稱。
如果您要在某個頁面中重新定義內容網頁指向的位置,可以重新定義某些屬性值,例如:
- test.jsp
<%@taglib prefix="tiles" uri="/tags/struts-tiles"%> 
<%@include file="/tiles/definition1.jsp"%> 
<tiles:insert beanName="myLayout" flush="true"> 
     <tiles:put name="title"  value="Tiles範例二" /> 
    <tiles:put name="header" value="/tiles/header2.jsp" />    
</tiles:insert>  
也可以不經由定義檔而直接使用某個Layout頁面,例如:
- test.jsp
<%@page contentType="text/html; charset=Big5"%> 
<%@taglib prefix="tiles" uri="/tags/struts-tiles"%> 
<tiles:insert page="/tiles/myLayout.jsp" flush="true"> 
    <tiles:put name="title"  value="Tiles範例" /> 
    <tiles:put name="header" value="/tiles/header.jsp" /> 
    <tiles:put name="menu"   value="/tiles/menu.jsp" /> 
    <tiles:put name="footer" value="/tiles/footer.jsp" /> 
    <tiles:put name="body"   value="/tiles/body.jsp" /> 
</tiles:insert>  
這麼作的好處是簡單方便,可以直接使用Layout頁面而無法額外定義管理檔案,而缺點就是無法再重用這個頁面的定義內容。

