关键字: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"结果都不行
问一下,这个情况到底是咋回事?