我有一个充满信息的数据表。在选定的一个行上调用“onRowSelect”方法。“订单号” outputText 条目填充有从 ProductOrder 对象检索到的值。
/* Filter bean */
public void onRowSelect(SelectEvent event) {
NewOrderBean currentOrder = (NewOrderBean) FacesUtils
.getManagedBean("newOrderBean");
currentOrder.setOrderNum(((ProductOrder) event.getObject()).getOrderNum());
}
/* newOrderBean */
public int update() {
ProductOrder pt = new ProductOrder ();
try {
pt = productService.findOrderbyNum(orderNum).get(0);
} catch (Exception e) {
return 0;
}
pt.setOrderNum(orderNum);
try {
FacesMessage msg = new FacesMessage("Product updated with: ", orderNum);
FacesContext.getCurrentInstance().addMessage(null, msg);
return 1;
} catch (Exception e) {
return 0;
}
}
用户在“订单号”中输入新文本后,按更新以修改产品订单号。
<!-- JSF page -->
<ui:define id="content" name="contentBody">
<h:form class="ViewResservation" id="viewPanel">
<p:tabView id="tabView">
<p:tab title="Client" id="tab1">
<h:outputText value="Order number " />
<p:inputText id="ordr" value="#{newOrderBean.orderNum}" />
</p:tab>
</p:tabView>
</h:form>
</ui:define>
<ui:define name="footer">
<h:form>
<h:commandButton value="Update"
actionListener="#{newOrderBean.update}" />
</h:form>
</ui:define>
问题是在输入新文本并按下更新后,值(orderNum)保持不变。如何获取用户输入的值并使用新订单号更新 ProductOrder 对象?