在struts中,如何在页面初始化是,不让struts自动初始化其中的form?

rainight 2005-02-05 11:06:08
我又一个页面,页面中有一个form,第一次打开的时候,form中的每个元素都为空,这是对的。但是在同一个IE中,第二次打开这个页面,form上面的值被初始化成上一次输入的结果,我知道这是struts的自动初始化功能,但我在这个页面中想屏蔽这一功能,有没有什么办法?
...全文
109 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hxzg001 2005-02-05
  • 打赏
  • 举报
回复
这样写是不对的
首先reset可以不需要参数,而且你在reset中并不是清空了formbean中的属性,而是定义了一堆局部变量,应该是下面的形式
public void reset() {
bookingContent="";
depts="";
end_minute="";
end_hour="";
end_date="";
end_month="";
........
}
rainight 2005-02-05
  • 打赏
  • 举报
回复
to hxzg001(大家踊跃结贴啊):
我按照你的方法试了一下,好像还是不行,下面是我的实现,你看看有没有什么问题:

我在 formBean中加入如下代码:

public void reset(ActionMapping actionMapping, HttpServletRequest httpServletRequest) {
String bookingContent="";
String depts="";
String end_minute="";
String end_hour="";
String end_date="";
String end_month="";
........
}

在action中这样:

public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) {
.......
form.reset(actionMapping,request);
return actionMapping.findForward("success");
}
yeyu710 2005-02-05
  • 打赏
  • 举报
回复
up
hxzg001 2005-02-05
  • 打赏
  • 举报
回复
那不是自动初始化功能,只是上一次输入的结果没有被清空,你只需在formbean中实现一个用来清空所有属性的reset方法,然后每次用完后调用它就可以了。
zgdhj95 2005-02-05
  • 打赏
  • 举报
回复
formbean中没有实现reset()
java_augur 2005-02-05
  • 打赏
  • 举报
回复
reset会自动调用。
sagittarius1979 2005-02-05
  • 打赏
  • 举报
回复
reset方法中的参数ActionMapping mapping, HttpServletRequest request还是要的,否则这个reset方法变成你的formbean中的公用方法,系统不会自动调用了。只要把你定义的变量换成你的类属性就可以了,这可是个低级错误哦。
mdragon 2005-02-05
  • 打赏
  • 举报
回复
楼上正解,bookingContent等等对应formbean中的各个属性

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧