A有一个这样的页面:
<h:form id="form">
<h:panelGroup id="panel">
<ui:repeat id="repeat" value="#{myBean.ojects}" var="item">
<h:panelGroup id="itemPanel">
<h:selectOneMenu ..... >
<p:ajax process="@this" update="itemPanel"/>
<f:attribute name="item" value="#{item}" />
</h:selectOneMenu ..... >
<h:inputText id="value" value="#{item.property}"/>
</h:panelGroup>
</ui:repeat>
</h:panelGroup>
</h:form>
我的问题是,在我更改 bean 内的对象引用的“属性”值并更新“itemPanel”panelGroup 之后,它永远不会返回修改后的值,除非我更新我包裹在 ui:repeat 周围的整个 panelGroup。在第一种情况下,我可以在响应中看到更新已经发生,只有以前的值。我真的必须只能重新加载 ui:repeat 的一部分(在值已更改的情况下),否则添加但未在 ui:repeat 的其他部分(循环)内提交的数据会丢失。
更新:
我实际上不在乎,如果我必须提交包含整个重复的面板或表单,所以当我更新它时,值不会改变,但是如果我改变过程值,什么都不会更新......: (