我正在使用JSF 1.2,并且对我正在看到的行为感到疑惑。我的JSF页面使用a4j:jsFunction启动进程,然后使用a4j:poll来获取进度百分比。此过程构建一个对象列表,每个对象都包含一个列表。当a4j:jsFunction调用完成后,将重新呈现a4j:outputPanel。该面板包含一个selectBooleanCheckbox,它绑定到第二个列表中对象的布尔值:
<a4j:jsFunction name="validate" action="#{MigrationWizardValidateForm.validate}" reRender="validationResult, done"/>
...
<a4j:outputPanel id="validationResult">
<ui:repeat value="#{MigrationWizardValidateForm.validationErrors}" var="validationError">
<ui:repeat value="#{validationError.assignmentVisualisations}" var="assignmentVisualisation">
<h:selectBooleanCheckbox value="#{assignmentVisualisation.assignment.mainLocation}"
...
我看到的是当进程加载对象时mainLocation为true。外部重复获得其列表时确实如此。但是当selectBooleanCheckbox呈现时,它会调用setMainLocation为false。
为什么这样做?
答案 0 :(得分:0)
a4j:poll和a4j:jsFunction以相同的形式导致问题。将民意调查以单独的形式显示进度可以解决问题。