你到底要不要分?
关键字:a4j(ajax4jsf)
下面的代码:
<h:selectOneMenu id="departmentId"
value="#{userManagedBean.user.departmentId}">
<f:selectItems value="#{userManagedBean.departmentIdItems}" />
<a4j:support event="onchange" reRender="officeId"
action="#{userManagedBean.getOfficeIdItems}" />
</h:selectOneMenu>
<h:selectOneMenu id="officeId"
value="#{userManagedBean.user.officeId}">
<f:selectItems value="#{userManagedBean.officeIdItems}" />
</h:selectOneMenu>
<h:inputText id="userName" required="true"
value="#{userManagedBean.user.userName}"/>
上面是jsf的3个组件:2个select和一个input
第一个select变化时,第二个select的数据会发生变化,通过a4j组件来实现
但是发现一个问题,如果把第3个input组件的required="true"去掉,或者设为false更或者把这个input给去掉,结果会报错,不能正常装载数据。google了一下,从一些英文网站上获得了一些信息,说是通过设置a4j的ajaxSingle="true",limitToList="true",immediate="true"结果都不行
问一下,这个情况到底是咋回事?