私は次のスニペットを持っています(内部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>
も、まったく役に立ちません。