我遇到了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