Tapestry を使用してログインしているユーザーのタイプに応じて、ページへのリンクの利用可能なメニューを動的に表示したいと考えています。
私のコードの一部はLayout.tml
次のようになります。
<div class="header">
<t:if t:test="userLoggedIn">
<div class="menu">
<ul>
<t:loop t:type="loop" source="pageNames" value="pageName" class="prop:classForPageName">
<t:if t:test="isUserAllowedOnPage('pageName')">
<li>
<t:pagelink page="prop:pageName.name">${pageName.displayName}</t:pagelink>
</li>
</t:if>
</t:loop>
</ul>
</div>
</t:if>
<div style="clear:both;"></div>
</div>
私Layout.java
には次の方法があります:
public boolean isUserAllowedOnPage(String pageName) {
// My logic here, returns either true or false
}
isUserAllowedOnPage(String pageName)
問題は、実際のページ名パラメーターをメソッドに渡す方法がわからないことです。次のtml
コード行では、目的の値の 1 つ (たとえば、、、...) の代わりに実際の
"isUserAllowedOnPage('pageName')"
文字列を渡すためです。"pageName"
"Index"
"About"
"Contacts"