当我们在Jsf页面用了以下代码时:会导致<a4j:support evnet="onchange"/>在绑定stbAddBean.users.state属性时 会导致 users=null。
会导致<a4j:support evnet="onchange"/>在绑定stbAddBean.users.state属性时 会导致 users=null。
<h:column><h:inputText value="#{stbAddBean.users.firstName}" id="firstName" required="true"
requiredMessage="用户名不能为空"><rich:ajaxValidator event="onblur" />
</h:inputText>
</h:column>
<h:column>
<h:outputText style="color:red" value="* "/>
<rich:message for="firstName" style="color:red" />
</h:column>
<h:column>
<h:selectOneMenu value="#{stbAddBean.users.state}" id = "state" style="width: 150" requiredMessage="所在省不能为空">
<f:selectItem itemLabel="All" itemValue=""/>
<f:selectItems value="#{stbAddBean.allProvince}"/>
<a4j:support actionListener="#{stbAddBean.allCityByProvince}"
event="onchange" reRender="city" />
</h:selectOneMenu>
</h:column>
解决如下 在以下代码上加上 ajaxSingle="true"就OK
<a4j:support ajaxSingle="true" event="onchange" reRender="city"/>
<h:column><h:inputText value="#{stbAddBean.users.firstName}" id="firstName" required="true"
requiredMessage="用户名不能为空"><rich:ajaxValidator event="onblur" />
</h:inputText>
</h:column>
<h:column>
<h:outputText style="color:red" value="* "/>
<rich:message for="firstName" style="color:red" />
</h:column>
<h:column>
<h:selectOneMenu value="#{stbAddBean.users.state}" id = "state" style="width: 150" requiredMessage="所在省不能为空">
<f:selectItem itemLabel="All" itemValue=""/>
<f:selectItems value="#{stbAddBean.allProvince}"/>
<a4j:support actionListener="#{stbAddBean.allCityByProvince}"
event="onchange" reRender="city" />
</h:selectOneMenu>
</h:column>
解决如下 在以下代码上加上 ajaxSingle="true"就OK
<a4j:support ajaxSingle="true" event="onchange" reRender="city"/>