[技巧]如何自动清空struts表单域

类别:Java 点击:0 评论:0 推荐:

为了某种需要,formBean的SCOPE设置成了session。执行action后发现上一次输入的表单<html:form>数据还在上面。有什么办法可以让struts自动清空表单域?

想了一会,问题解决了。原来不是<html:form>的问题,而是formBean本身的问题。如果FormBean的scope是request,那么它只在请求发生时被创建,请求结束后它也就被废弃了。既然formBean的scope是session,那么它在用户建立与服务器的会话之时就被创建,而且在整个会话过程中,它一直是有生命的。如果它的属性值不为空,自然会反映到与之相关的<html:form>里。

我的解决办法是在执行数据库操作后,手动将formBean的属性值清空:

……
String sql = "INSERT articles valueS('','" + myform.getTitle() + "','" + myform.getContent() + "',null," + folder +");";
int i = mysql.executeUpdate(sql);
myform.setTitle(null);
myform.setContent(null);
……

本文地址:http://com.8s8s.com/it/it15637.htm