在JSF页面中重置输入表单

时间:2014-12-28 16:50:14

标签: jsf

我需要构建一个带有一些输入形式的JSF页面,当点击保存时,必须存储所有这些信息。特别是输入表单需要提交一个字符串然后系统进行一些检查并存储或丢弃该字符串(例如,我需要在我的日历中保存一个事件并添加其他人)。 我试图只使用一个视图范围的bean,但是当我调用该方法检查字符串时,bean被销毁,所以我改变这个方法返回一个空字符串,一切都很好但是当我重新加载页面时输入表单仍然填充与旧信息。 我如何重置输入或如何改进我的解决方案。 谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

在使用操作方法中的字段值后,只需用空白值填充它并重新渲染表单。这是一个例子:

Facelets代码

<h:form>
    <h:input value="#{theBean.theString}" />
    <h:commandButton value="Submit" action="#{theBean.action}">
        <f:ajax render="@form" />
    </h:commandButton>
</h:form>

托管bean代码

@ManagedBean
@ViewScoped
public class TheBean {
    private String theString;
    //getters and setters

    public void action() {
        //do something with the submitted value of theString
        //at the end, clean it manually
        theString = "";
    }
}