Hide/Show 带有支持 bean 的组件

Hide/Show component with backing bean

我有一个要显示的项目列表,我想在项目集全部显示后限制用户单击 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 按钮针对按钮本身进行 hide/show 呈现,其中来自 link 的问题是针对输入形式

你总是需要在 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>