0

我有一个类似的问题,如该线程中所述:Show/hide JSF2 form using selectBooleanCheckbox。但是该线程中提出的解决方案对我不起作用。我想要一个可以通过选中复选框来扩展的表单。

我的设置如下:

<p:selectBooleanCheckbox id="lookupCheck" value="#{addressDetailBean.addQLookup}">
    <p:ajax event="change" update="qlookupcolumn1" process="@this"/>
</p:selectBooleanCheckbox>
<p:outputPanel id="qlookupcolumn1" rendered="#{addressDetailBean.addQLookup}">
    <h2>#{msg['qloookup.new.title']}</h2>
    <ui:include src="/WEB-INF/includes/integration/qlookupDetailColumns.xhtml">
        <ui:param name="bean" value="#{addressDetailBean}" />
    </ui:include>
</p:outputPanel>

但是当我检查复选框表单时没有呈现。Bean 被调用并且属性设置正确,我可以在响应中看到表单,但它没有呈现在页面上。

可能有什么问题?

4

1 回答 1

4

这是一个典型的问题,有很多相关的答案。只需将您的输出面板包含在一个组件中,例如<h:panelGroup>,它总是呈现并 ajax-update 代替:

<p:selectBooleanCheckbox ...>
    <p:ajax update="refresh" process="@this"/>
</p:selectBooleanCheckbox>
<h:panelGroup id="refresh" ...>
    <p:outputPanel rendered=... />
<h:panelGroup/>
于 2013-09-23T11:30:49.860 回答