我有一个支持 bean,它是ViewScoped
. 我SelectBooleanCheckbox
在表单中有一些启用 ajax 的 es。例子:
<p:selectBooleanCheckbox value="#{formBean.value2}">
<p:ajax update=":theform"/>
</p:selectBooleanCheckbox>
通常,一些隐藏的输入字段应该在 html 中以通过 viewstate id。问题是那些没有在第一页请求上启动。当我单击其中一个复选框时,表单(以及复选框)会刷新。从这一刻起,视图状态 ID 将与这些复选框一起发送,因此可以保留视图状态。
最大的问题是在第一次 ajax 调用时会启动一组新的 ViewScoped bean,因此我丢失了有关第一个操作的数据。从那时起,一切似乎都正常工作。
谁能给我任何关于可能是什么问题的指示?
确切的代码:
<p:panel header="Schedule" toggleable="true">
<form>
<p:outputPanel id="schedule">
<ui:repeat var="scheduleDay" value="#{jobBean.jobScheduleDays}">
<div>
<p:selectBooleanCheckbox value="#{scheduleDay.selected}" style="margin:4px">
<p:ajax update=":schedule" />
</p:selectBooleanCheckbox>
<h:outputText value="#{scheduleDay.readableDay}" style="text-transform:capitalize"/>
</div>
</ui:repeat>
</p:outputPanel>
</form>
</p:panel>