2011-06-28 57 views
3

我想直接將瓷磚定義名稱寫入模板。但我不知道如何訪問定義名稱。Apache Tiles:如何訪問定義名稱

爲了說明什麼,我想要做看看以下解決方法:

<tiles-definitions> 

    <definition extends="default" name="index"> 
    <put-attribute name="body" value="/WEB-INF/views/index.jspx"/> 
    <put-attribute name="pageId" value="index"/>   
    </definition> 

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

默認模板:

<html> 
... 
    <tiles:useAttribute id="tiles_pageId" name="pageId" classname="java.lang.String" /> 
    <body id="pageId_${tiles_pageId}"> 
... 
    </body> 
</html> 

這工作。我可以在定義中指定一個屬性(pageId),在模板中讀取它並將其寫入模板輸出中。

但是您看到定義名稱和pageId之間存在1:1的相關性。所以我不想在定義中寫兩次(定義爲namepageId)。相反,我正在尋找一種方式來跳過pageId屬性聲明,並在模板中得到定義名稱莫名其妙其他(不連連兩次寫它。)

+0

你達到了你想要的?我會感興趣,如果你知道如何去做... –

+0

@Pierre Henry:不,我沒有找到解決方案 – Ralph

回答

相關問題