为什么没有刷新页面,JSF 2.0"渲染"不起作用?

0 jsf render

当我单击一个方法来呈现页面的一部分时,在我手动刷新页面之前,它不会改变任何内容.

这是豆子:

boolean showPage = true;

public boolean getShowPage(){
    return showPage;
}
Run Code Online (Sandbox Code Playgroud)

这是观点:

<h:form>
    <p:commandButton value="Click" action="#{bean.hideContents()}" />
</h:form>

<p:panel rendered="#{bean.showPage}">
    Contents 
</p:panel>
Run Code Online (Sandbox Code Playgroud)

当我手动刷新页面时,面板会被隐藏,否则就不会.这是怎么造成的,我该如何解决?

Bal*_*usC 6

您需要更新有条件呈现的组件的父组件.您可以通过在以下update属性中指定其客户端ID 来实现<p:commandButton>:

<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>
Run Code Online (Sandbox Code Playgroud)

也可以看看: