我有一个请求范围的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