表单 – 提交后清除JSF表单输入值

如果有一个表单,并且有一个文本框和一个按钮,您在提交表单后如何清除文本框的内容
<h:inputText id="name" value="#{bean.name}" />          
<h:commandButton id="submit" value="Add Name" action="#{bean.submit}" />

在文本框中输入值并提交后,该值仍会显示在文本框中.一旦提交,我需要清除文本框的内容.我该如何实现?

解决方法

您可以从提交表单时调用的Bean方法中清除表单;`
private String name;
    private String description;
    private BigDecimal price;

/*----------Properties ------------*/
/*-----Getter and Setter Methods---*/

public void save()throws sqlException{
String sql = "INSERT INTO tableName(name,description,price) VALUES (?,?,?)";
    Connection conn = ds.getConnection();
    try {

        PreparedStatement pstmt = conn.prepareStatement(sql);
        pstmt.setString(1,getName());
        pstmt.setString(2,getDescription());
        pstmt.setBigDecimal(3,getPrice());

        pstmt.executeUpdate();
    } catch (sqlException e) {
        e.getMessage();
        e.toString();
    }finally{
        conn.close();
        clear();
    }

}//End Save Method

public void clear(){
    setName(null);
    setDescription(null);
    setPrice(null);
}//end clear`

注意,在save方法的所有操作完成后,从save方法调用clear()方法.作为一个选项,只有在方法操作成功的情况下才可以执行清除…下面的方法放在ProductController类中…

public String saveProduct(){
    try {
        product.save(); 
    } catch (sqlException e) {
        e.printstacktrace();
    }
    return null;
}

从view / jsp的方法调用将如下所示:

<h:commandButton value="Save" action="#{productController.saveProduct}"/>

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些