使用辅助bean隐藏/显示组件

时间:2016-06-20 10:19:46

标签: jsf conditional-rendering ajax-update

我有一个要显示的项目列表,我希望限制用户在显示所有项目时单击ShowMore按钮。

我的代码:

<div class="row center">
    <h:commandButton id="morebutton" rendered="#{homeBean.hasMoreProjects()}" styleClass="hoverable btn-large yellow lighten-2 black-text" value="SHOW MORE" >
        <f:ajax listener="#{homeBean.showMore()}" render="result morebutton" />
    </h:commandButton>
</div>

这里的问题是,只要项目列表全部显示,按钮就不会隐藏,但是当我刷新整个页面时它将被隐藏。

检查按钮时如何检查方法?

任何帮助将非常感谢,谢谢

编辑1:

这个问题与问题Ajax update/render does not work on a component which has rendered attribute略有不同,这个问题说明了指向按钮本身的commandLink按钮,用于隐藏/显示渲染,其中链接的问题是定位输入表单

1 个答案:

答案 0 :(得分:1)

你总是需要在jsf2中渲染父组件,这应该有效:

<a4j:outputPanel id="morebuttonPanel" styleClass="row center">
    <h:commandButton id="morebutton" rendered="#{homeBean.hasMoreProjects()}" styleClass="hoverable btn-large yellow lighten-2 black-text" value="SHOW MORE" >
        <f:ajax listener="#{homeBean.showMore()}" render="result morebuttonPanel" />
    </h:commandButton>
</a4j:outputPanel>
相关问题