1
在我的應用程序中,我有導師和學生作爲用戶角色。我決定兩者的主頁都是一樣的。但是,導師和用戶的菜單會有所不同。我製作了.xhtml頁面tutorMenu.xhtml和student.xhtml。並且要從角色包含菜單中依賴。對於整個頁面,我使用佈局,並在每個頁面更改內容「內容部分」在UI:組成。JSF動態用戶界面:包括
在名爲menu.xhtml
<h:body>
<ui:composition>
<div class="menu_header">
<h2>
<h:outputText value="#{msg['menu.title']}" />
</h2>
</div>
<div class="menu_content">
<с:if test="#{authenticationBean.user.role.roleId eq '2'}">
<ui:include src="/pages/content/body/student/studentMenu.xhtml"/>
</с:if>
<с:if test= "#{authenticationBean.user.role.roleId eq '1'}">
<ui:include src="/pages/content/body/tutor/tutorMenu.xhtml" />
</с:if>
</div>
</ui:composition>
我知道,使用JSTL我不更好的解決辦法,但我找不到其他。我的問題最好的決定是什麼?
相關:http://stackoverflow.com/questions/3342984/jstl-in-jsf2-facelets-makes-sense – BalusC
@BalusC你認爲使用h:panelGroup呈現在我的情況會更好嗎? – Ray
不可以。您將最終得到兩個包含而不是一個,因爲'render'屬性是在視圖渲染時期間評估的,而不是像JSTL那樣在視圖構建期間進行評估。 – BalusC