我有以下片段(里面h:body->h:form
,h:head
已使用):
<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>
以及bean中的功能:
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
我错过了什么?提前致谢。
更新:从 切换<p:spinner>
到<h:inputText>
根本没有帮助。