我有一个显示实体列表的页面。最重要的是,我有一个搜索菜单,默认情况下隐藏并呈现,如果标志是true
. 该标志由以下按钮切换:
<h:panelGroup layout="block" id="display_options" class="options">
<h:commandLink
id="options_hidden"
class="teaser_title left cursor_hand"
value="#{msgs.search}" action="#{magazineListBean.toggleOptions()}"
>
<f:ajax render="advanced_search_form"/>
</h:commandLink>
</h:panelGroup>
这是支持 bean 中的函数:
public void toggleOptions() {
if(showOptions){
showOptions = false;
}else{
showOptions = true;
}
}
commandLink 按预期工作,但是速度很慢。显然,在处理 toggleOptions 之前,entitylist 的 getter 被多次调用(这是相当昂贵的,因为它们都是从数据库中提取的)。但是,该列表是单独的形式。我确实有一个preRender()
方法,但它也从不调用 getter。底线,我不知道这里发生了什么——我错过了什么吗?感谢任何提示,所以请不要犹豫发表评论。将提供所需的任何进一步信息。非常感谢!