2013-11-27 95 views
4

我正在與一個web應用程序中的瓷磚jsp servlets一起工作。最近,我碰到了瓷磚insertAttributeputAttribute標籤。 去爲這兩個標籤(herehere)所列出來的文件過來,我可以做出來的唯一區別是:Tiles - insertAttribute vs putAttribute - 差異/用法?

putAttribute has to be enclosed in a parent container tag因此,從功能角度來看,標籤是相似的。

putAttribute具有封閉約束而insertAttribute不具有任何這樣的約束,似乎有更多的可使用的屬性的數量。我懷疑insertAttribute標記後來被添加到tiles框架。

在什麼情況下,一個標籤(特別是putAttribute)應該用於另一個標籤? 任何有關差異/使用情況的解釋/插圖都會受到歡迎。

回答

2

表格此鏈接

http://tiles.apache.org/framework/tiles-jsp/tlddoc/tiles/tld-summary.html

插入一個屬性到頁面的價值。

該標籤可以靈活地用於將屬性的值插入到頁面中。正如在Tiles中的其他用法一樣,每個屬性都可以被確定爲具有「類型」,或者在定義時明確設置,或者「計​​算」。如果類型不明確,那麼如果屬性值是一個有效的定義,它將被插入。否則,如果它以「/」字符開始,它將被視爲「模板」。最後,如果它沒有另外被分配一個類型,它將被視爲一個字符串,並且包含在沒有任何特殊處理的情況下。

實施例:

<code> 
      <tiles:insertAttribute name="body" /> 
      </code> 

聲明,就可以通過作爲屬性到瓦片的列表。

聲明一個將作爲屬性傳遞給tile的列表。列表元素使用標籤'addAttribute'或'addListAttribute'添加。這個標籤只能在'insertTemplate','insertDefinition','definition'標籤中使用。

0

將Atttribute - >您聲明哪些內容會與指定屬性名稱相關聯:

<definition name="admin-template-metronic" extends="metronic-template" template="/WEB-INF/templates/metronic/tiles/admin.jsp"> 
    <put-attribute name="html-title" value="Administrative Console"/> 
    <put-attribute name="banner-content" value="/WEB-INF/templates/metronic/pages/common/banner.jsp"/> 
    <put-attribute name="footer-content" value="/WEB-INF/templates/metronic/pages/common/footer.jsp"/> 
    <put-attribute name="menu-content" value="/WEB-INF/templates/metronic/pages/admin/main-menu.jsp"/> 
</definition> 

插入屬性:它會使用採用把屬性定義了屬性。 在您的頁面中,橫幅廣告內容將替換爲文件「banner.jsp」的內容

<tiles:insertAttribute name="banner-content"/>