`

如何自动清空struts表单域

阅读更多

 

为了某种需要,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);

 

另一个解决办法就是将scope设置为request.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics