Tapestry를 사용하여 로그인 한 사용자 유형에 따라 페이지에 대한 링크 메뉴를 동적으로 표시하고 싶습니다. Layout.tml
에서 내 코드의Tapestry의 클래스 메소드에 현재 루프 값을 전달하는 방법은 무엇입니까?
일부는 다음과 같습니다
에서<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
I하기의 방법이 있습니다
public boolean isUserAllowedOnPage(String pageName) {
// My logic here, returns either true or false
}
문제는, 내가 실제를 전달하는 방법을 모르겠어요 페이지 이름 매개 변수를 isUserAllowedOnPage(String pageName)
방법으로 변경하십시오. 다음 줄의 tml
코드
"isUserAllowedOnPage('pageName')"
실제 문자열 인원하는 값 (예 : "Index"
, "About"
, "Contacts"
...) 대신이 필요합니다.
을 내 'Layout # getPageName()'메소드가 아니라'Layout.tml'을 사용합니다. – Lopina
구성 요소 템플릿에는 값이 없으며 단지보기에 불과합니다. 모든 값은 Java 클래스에 저장됩니다. 따라서'
sody