关于JSF,特别是Primefaces还有一个问题。在同一时间使用id更新元素时遇到了以下问题。如果页面上的元素一个接一个地进行更新,那么ajax更新将正常执行:
<ui:repeat value="#{showProducts.inCart}" var="cart">
<td><p:spinner min="0" value="#{cart.count}" immediate="true">
<p:ajax process="@this" update="count,subTotal"/></p:spinner></td>
<td><h:outputText value="#{cart.totalPrice}" id="count"/></td>
<h:outputText value="#{showProducts.subTotal}" id="subTotal"/>
</ui:repeat>
首先是具有"id=count"的元素,其次是具有"id=subtotal"的元素。 如果页面上的元素不是严格按顺序排列,那么具有"id=subtotal"的第二个元素将不会更新:
<ui:repeat value="#{showProducts.inCart}" var="cart">
<td><p:spinner min="0" value="#{cart.count}" immediate="true">
<p:ajax process="@this" update="count,subTotal"/></p:spinner></td>
<td><h:outputText value="#{cart.totalPrice}" id="count"/></td>
<td><h:outputText value="#{cart.place}" /></td>
</ui:repeat>
<h:outputText value="#{showProducts.subTotal}" id="subTotal"/>
这是正常行为还是我缺少某些参数?
java.lang.IllegalArgumentException: master
。p:ajax update=":master"
位于ui:include
中,而该ui:include
又包含在p:panelGrid id="master"
标签内。 - Roland:master:
。 :-) - Roland