当我单击一个方法来渲染页面的一部分时,在我手动刷新页面之前,它不会改变任何内容。
这是豆子:
boolean showPage = true;
public boolean getShowPage(){
return showPage;
}
以下是观点:
<h:form>
<p:commandButton value="Click" action="#{bean.hideContents()}" />
</h:form>
<p:panel rendered="#{bean.showPage}">
Contents
</p:panel>
当我手动刷新页面时,面板会被隐藏,否则就不会。 这是怎么造成的,我该如何解决?
答案 0 :(得分:6)
您需要更新有条件渲染组件的父组件。您可以通过在update
:
<p:commandButton>
属性中指定其客户端ID来实现此目的
<h:form>
<p:commandButton value="Click" action="#{bean.hideContents}" update=":panel" />
</h:form>
<h:panelGroup id="panel">
<p:panel rendered="#{bean.showPage}">
Contents
</p:panel>
</h:panelGroup>