2
我正在做PrimeFaces對話框中的產品插入表單。我的bean的作用域是會話。我可以插入一個產品,但是當我嘗試插入另一個產品時,表單中有以前的產品信息。我想重置表單。我試過UIInput
,但它不起作用。我怎樣才能清除表單?如何在保存後重置表單?
我正在做PrimeFaces對話框中的產品插入表單。我的bean的作用域是會話。我可以插入一個產品,但是當我嘗試插入另一個產品時,表單中有以前的產品信息。我想重置表單。我試過UIInput
,但它不起作用。我怎樣才能清除表單?如何在保存後重置表單?
只需在保存後創建一個新產品,並確保在保存後您是ajax更新表單。
E.g.
<h:form>
<h:inputText value="#{productController.product.name}" />
<h:inputTextarea value="#{productController.product.description}" />
<h:selectOneMenu value="#{productController.product.category}">
<f:selectItems value="#{applicationData.categories}" />
</h:selectOneMenu>
<p:commandButton value="Save" action="#{productController.save}" update="@form" />
</h:form>
與
public void save() {
productService.save(product);
product = new Product();
}
順便說一句,那種豆真的不會話範圍的歸屬。把它放在視圖範圍內。
但它取決於範圍。當我在創建新產品後放入視圖範圍中時,它是工作的,但在Session範圍中,以前的信息即將到來 – eaktas 2012-02-15 19:33:10
是的,當您使用視圖範圍時,確實也可以只返回'null'或' void'(例如一個空字符串'「」'),那麼視圖將被重新創建,所有屬性都被設置爲默認值。那不就是你要找的東西嗎?爲什麼堅持會議範圍呢? – BalusC 2012-02-15 19:33:53
會話bean沒有必要,但我應該通過不同的頁面導航,當我在視圖範圍中使用時,我得到一個錯誤。但我轉向查看範圍。謝謝 – eaktas 2012-02-15 19:43:25