我遇到了JSF 2.0的HtmlDataTable問題。在我的網頁上,我有一個h:dataTable和一些其他內容,只有在用戶登錄後才能顯示。儘管呈現=「false」,但h:dataTable的內容總是被評估
HtmlDataTable的內容從數據庫中加載。雖然h:dataTable在用戶未登錄時未呈現,但內容仍處於評估狀態。
這裏是網頁的代碼:
<h:panelGroup rendered="#{userBean.loggedIn}">
<h:dataTable value="#{xxxBean.allXxx}"
var="c">
<h:column>
<h:outputText value="#{c.name}"/>
</h:column>
</h:dataTable>
<!-- some other content -->
</h:panelGroup>
在我登錄了該方法的調用getAllXxx()方法。但是,如果h:dataTable(以及所有其他內容)未呈現,getAllXxx()方法仍然被調用。
我試圖用c:if代替h:panelGroup。這將工作,但後來我在登錄過程中遇到問題,所以這不是合適的解決方案。
有誰知道如何解決這個問題?提前致謝。
我有同樣的問題。我正在部署GlassFish 3.1。 – Rogach 2011-07-22 16:32:47