2011-06-28 5 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属性宣言をスキップして、テンプレートに何らかの形で他の定義名を取得する方法を探しています(2回何度も何度もそれを記述することなく。)

+0

あなたが望むものを達成しましたか?あなたがそれをする方法を知っているなら、私は興味があります... –

+0

@Pierre Henry:いいえ解決策が見つかりませんでした – Ralph

答えて

関連する問題