2011-03-01 39 views
0

嗨: 我知道如何在jsp頁面中插入屬性和定義,但我不能插入一個嵌套瓷磚。如何插入一個嵌套瓷磚

這是〔實施例:

<definition name="/commonPage" template="/jsp/common/template.jsp"> 
     <put-attribute name="header" value="/jsp/common/defaultHeader.jsp" /> 
     <put-attribute name="menu" value="/jsp/common/defaultMenu.jsp" /> 
     <put-attribute name="footer" value="/jsp/common/defaultFooter.jsp" /> 
    </definition> 


    <definition name="/all" extends="/commonPage"> 
     <put-attribute name="body" value="/jsp/all_body.jsp" /> 
     <put-list-attribute name="scriptList"> 
      <add-attribute value="/res/script/all.js" /> 
     </put-list-attribute> 
    </definition> 

    <definition name="/time" extends="/commonPage"> 
     <put-attribute name="timebar" value="/jsp/common/timebar.jsp" /> 
     <put-attribute name="body" value="/jsp/time_body.jsp" /> 
     <put-list-attribute name="scriptList"></put-list-attribute> 
    </definition> 

</tiles-definitions> 

而在tempalte.jsp:

.... 
<tiles:insertAttribute name="meun"> 
... 
<tiles:insertAttribute name="footer"> 

現在,在time_body.jsp,我想插入另一個JSP - timebar.jsp。

因此,我在「/ time」的定義中定義屬性,但它不起作用。

這是time_body.jsp代碼:

<div class="div_fullwidth"> 
    <tiles:insertAttribute name="timebar" /> 
</div> 

任何想法?

回答

1

當您嘗試這樣做時是否收到任何錯誤消息?

編輯: 所以這是我的塊配置 - 我用春:

基本佈局 - 保存總體佈局結構,而不在body標籤頁面的具體內容:

<tiles-definitions> 

<definition name="default" template="/WEB-INF/layouts/default.jspx"> 
    <put-attribute name="leftmenu" value="/WEB-INF/layouts/partial/leftmenu.jspx" /> 
    <put-attribute name="footer" value="/WEB-INF/layouts/partial/footer.jspx" /> 
    <put-attribute name="subheader" value="/WEB-INF/layouts/partial/subheader.jspx" /> 
    <put-attribute name="seoheader" value="/WEB-INF/layouts/partial/seoheader.jspx" /> 
</definition> 
    </tiles-definitions> 

頁具體意見:

<tiles-definitions> 
<definition extends="default" name="advice/list"> 
    <put-attribute name="body" value="/WEB-INF/views/advice/list.jspx"/> 
</definition> 
</tiles-definitions> 

所以在這個頁面特定視圖「的意見/列表」我想添加一個新的部分,我會做到這一點:

<put-attribute name="timebar" value="/WEB-INF/layouts/partial/timebar.jspx" /> 

然後我會簡單地調用advice/list模板中的屬性。

  1. 您可以檢查您是否在WEB-INF/web.xml文件中正確設置了tiles-definitions。
  2. 既然您找不到 - 您是否可以嘗試更改您的模板屬性路徑定義。

BTW:我用我的pom.xml

<dependency> 
    <groupId>org.apache.tiles</groupId> 
    <artifactId>com.springsource.org.apache.tiles</artifactId> 
    <version>2.1.3</version> 
</dependency> 
+0

這種依賴性似乎時間欄無法找到。順便說一下,我使用struts-tiles-plugin。 – hguser