我有下面的代码片段(内h:body->h:form
,h:head
已使用)豆:在beanAjax请求没有更新
<p:dataTable id="items" value="#{faNav.faRequest.items}" var="_item" emptyMessage="#{dict['web.faRequest.noItems']}">
<p:column>
<h:inputText id="newItemName" value="#{_item.name}" rendered="#{_item.name eq null}"/>
</p:column>
<p:column>
--> <p:spinner id="newItemQuantity" value="#{_item.quantity}"/>
</p:column>
<p:column>
<p:commandButton value="Añadir" update="items" actionListener="#{faNav.addItem}" rendered="#{_item.name eq null}"/>
</p:column>
</p:dataTable>
而且功能:
public void addItem(ActionEvent actionEvent) {
System.out.println("Añadiendo");
this.faRequest.getItems().add(new RequestItem());
}
现在,调试器我检查函数内的值。在那里,name
属性已使用表单中的值更新,但quantity
整数没有。该属性是名称,因为如果我为数量设置了默认非零值,表单将正确显示它。
我在JBoss 7.1
使用Primefaces 3.4.2我缺少什么?提前致谢。
UPDATE:从切换到<p:spinner>
<h:inputText>
没有帮助的。
并当您尝试'更新=“@形式”'工作? – fischermatte
@fischermatte:OP检查了动作侦听器方法中的模型值,所以ajax渲染是不相关的。至于可能的'update ='items''在数据表上失败,这在PF 3.3中得到了修复,并且OP在使用3.4.2。 – BalusC
@fischermatte我终于找到了它,如果你想检查答案。无论如何感谢你的努力。 – SJuan76