我有一个要显示的项目列表,我希望限制用户在显示所有项目时单击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按钮,用于隐藏/显示渲染,其中链接的问题是定位输入表单
答案 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>