它在 Richfaces 中有据可查的错误(参见错误 RF-11413)
您可以在 Richfaces 展示 Rich:dataTable -> 编辑上尝试
我找到的唯一解决方案是:https : //community.jboss.org/message/735198(寻找Eldin Okanovic的答案)
但这对我不起作用,所以我想出了类似的解决方案,对我有用。
在 xhtml rich:datatable 上添加操作 a4j:commandLink action="#{carsBean.popupReset}"
<a4j:commandLink styleClass="no-decor" render="editGrid" execute="@this"
oncomplete="#{rich:component('editPane')}.show()" action="#{carsBean.popupReset}">
<h:graphicImage value="/images/icons/edit.gif" alt="edit" />
<a4j:param value="#{it.index}" assignTo="#{carsBean.currentCarIndex}"/>
<f:setPropertyActionListener target="#{carsBean.editedCar}" value="{car}" />
</a4j:commandLink>
在 CarsBean 添加方法 carsBean.popupReset
public void popupReset() {
FacesContext context = FacesContext.getCurrentInstance();
UIInput com1 = (UIInput) context.getViewRoot().findComponent("form:price");
UIInput com2 = (UIInput) context.getViewRoot().findComponent("form:mage");
...
com1.resetValue();
com1.setValue(editedCar.getPrice());
com2.resetValue();
com2.setValue(editedCar.getMileage());
...
}
这不是一个很好的解决方案,但到目前为止它对我有用。