[英]Update ui:repeat partially JSF Primefaces
有一个像这样的页面:
<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内对象引用的“property”值并更新“itemPanel”panelGroup之后,它永远不会返回修改后的值,除非我更新了围绕ui:repeat的整个panelGroup。 在第一种情况下,我可以在响应中看到更新已经发生,只有前一个值。 我真的必须能够只显示ui的一部分:重复(在值已更改的情况下),否则添加,但未在ui的其他部分(周期)内提交数据:重复将丢失。
更新:
我实际上不在乎,如果我必须提交包含整个重复的面板或表单,那么当我更新它时,值不会改变,但是如果我更改过程值,则根本不会更新任何内容..: (
你能这样试试吗:
<h:form id="form">
<h:panelGroup id="panel">
<ui:repeat id="repeat" value="#{myBean.ojects}" var="item" varStatus="varStatus">
<h:panelGroup id="itemPanel">
<h:selectOneMenu ..... >
<p:ajax process="@this" update="repeat:#{varStatus.index}:itemPanel"/>
<f:attribute name="item" value="#{item}" />
</h:selectOneMenu ..... >
<h:inputText id="value" value="#{item.property}"/>
</h:panelGroup>
</ui:repeat>
</h:panelGroup>
</h:form>
<h:form id="form">
<h:panelGroup id="panel">
<ui:repeat id="repeat" value="#{myBean.ojects}" var="item" varStatus="varStatus">
<h:panelGroup id="itemPanel" class="item-#{varStatus.index}">
<h:selectOneMenu ..... >
<p:ajax process="@this" update="@(.item-#{varStatus.index})"/>
<f:attribute name="item" value="#{item}" />
</h:selectOneMenu ..... >
<h:inputText id="value" value="#{item.property}"/>
</h:panelGroup>
</ui:repeat>
</h:panelGroup>
</h:form>
记得放id,因为更新是必要的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.