我有一個請求範圍的bean,它是從表單中填充各種屬性的。這些屬性然後用於更新另一個視圖範圍的bean。現在我想讓用戶有可能以這種方式重置表單,即所有表單字段都保存第一次加載頁面時的值。不要填寫請求範圍的bean
@ManagedBean
@RequestScoped
public class ItemSearchBean {
private Rarity minRarity = Rarity.None;
private Rarity maxRarity = Rarity.None;
...
}
注意,雖然該表單submiting按鈕實際上調用一個Ajax請求,此處不再重新加載整個頁面接着說:這些值是通過bean本身定義。
的提交按鈕:
<p:commandButton value="Search"
actionListener="#{itemSearchBean.refreshTable}"
update="itemTable,notify"/>
我已經嘗試過用一個簡單的復位按鈕,但它只reseted形式到最後提交的值:
<p:commandButton type="reset" value="Reset"/>
一個人莫名其妙地問服務器爲新鮮的新bean(或阻止它填充bean),但我不知道如何做到這一點。
謝謝,這是按預期工作,但是有沒有一種方法可以在ajax的基礎上做到這一點(希望不是通過手動設置每個屬性)來省略完整的頁面重新加載? – Paranaix 2012-07-31 13:35:09
不客氣。不,我不知道。但實際上,重新加載頁面並不壞,HTTP流程不會比這更簡單,並且您的代碼保持在最低限度。 :)我不認爲這種事情的AJAX會帶來很多收益。 – elias 2012-07-31 14:03:10