Primefaces在Panel中使用渲染时不会调用Ajax侦听器

时间:2015-06-18 05:45:59

标签: ajax jsf primefaces conditional-rendering

以下是正在使用的代码段。当我从下面的代码中删除呈现的属性时,监听器被调用。但是使用渲染,它不会调用侦听器。 我的PrimaryContactHomeAddressBean bean在RequestScope中,而AddressManagedBean在ViewScope中。

<p:outputPanel id="countyPanel">
            <p:panelGrid
                id="primaryContactHomeZipPanel" rendered="#{address.isMultipleCounty eq 'Yes'}">
                <h:outputLabel for="primaryContactHomeCounty">
                    </h:outputLabel>
                <p:selectOneMenu id="primaryContactHomeCounty"
                    value="#{addressManagedBean.countyName}">
                    <f:selectItems value="#{addressManagedBean.countyListDropdown}" />
                        <p:ajax listener="#{primaryContactHomeAddressBean.saveCountyName}" process="@this"  update="primaryContactHomecountyName" partialSubmit="true"></p:ajax>
                </p:selectOneMenu>
                <p:message for="primaryContactHomeCounty" />


            </p:panelGrid>
        </p:outputPanel>

2 个答案:

答案 0 :(得分:0)

我可以通过将isMultipleCounty变量移动到ViewScoped Bean来解决此问题,即AddressManagedBean.

答案 1 :(得分:-1)

此行不符合JavaBean标准。

email.Header

如果getter以decode_header开头,那么它应该返回一个布尔值,但是在这里你要检查一个String。如果它返回一个布尔值,则删除rendered="#{address.isMultipleCounty eq 'Yes'}" ,无论将其重命名为is