CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

高分请教一个问题,关于Struts 的ActionForm中的reset的用法

楼主kenees(飞跃巅峰)2004-05-03 22:57:21 在 Java / Web 开发 提问

请问reset到底是在什么时候开始调用呢?  
  最好能分两个方面说,一种是在request域中,一种是在session域中,最近一直在为这个困惑,主要是不知道actionForm这个到底在什么时候被建立,最近就遇见了一个问题:  
   
  1,在一个action1中建立了actionForm并填充了其中的属性,并设置域为session,然后把它传到一个含有表单的jsp页面,表单的<html:form   action="/action2.do"   method="POST">,表单中有两个<html:text>,其中的property分别为property1和property2,但是这个表单并不包含actionForm中的property3属性。  
   
  2,property1和property2连各属性均能够显示正常,这表示actionForm已经被正常的建立(包括property3属性也被正常添加)并且存储在session中了。  
   
  3,提交表单,actionForm被传递到action2中(action2关于actionForm域的属性也被设为session),这时候出现问题了,如果reset()函数中不包含任何初始化的信息则actionForm被正确的传递,可以获得actionForm中property3的信息,但是如果reset()中包含了初始化的信息,则property3属性由于在第二步中没有被设置,即因为<html:form>中没有他的相关<html:text>,所以便无法获得关于property3的相关信息,这就是我困惑的地方,好像actionForm在提交表单的时候自己reset()了一次,不过我在书上看到的不是说如果actionForm存在于session中,就需要由程序员自己控制reset函数了的吗?而他这里在提交表单的时候,应该能从session中找到同名的actionForm,然后利用它,并不应该去调用actionForm的reset函数,不知道我的理解有错吗?  
   
  这就是我的迷惑之处,希望各位有经验的strutser能帮我解释一下,谢谢! 问题点数:100、回复次数:9Top

1 楼luckybeggar(木子)回复于 2004-05-04 10:15:08 得分 0

我没有在session   中用过,但我有过类似的经历,忘了,但我当时的理解也和你一样,就是在进入.jsp之前就先调了formbean的reset()了我是这样理解的和你的疑惑一样Top

2 楼VVV_lucky(*太阳*)回复于 2004-05-04 10:37:52 得分 30

1,原因:  
  你提交了form,这样form中的所有属性都被更新了,因为你提交的时候property3为null,所以得到的就是property3的默认值。  
   
  2,解决办法:  
  你可以把property3也放到jsp页面,设置成hidden就行了。Top

3 楼qinghui521(渐行渐远)回复于 2004-05-04 12:32:06 得分 10

同意楼上的。Top

4 楼x980702paul()回复于 2004-05-04 12:37:29 得分 30

reset()方法应该是在formBean的对象被"干掉"时被回调Top

5 楼BillyW(阿弥陀佛)回复于 2004-05-04 13:52:40 得分 30

我觉得,ActionServlet先检查是否已经存在某actionform如果存在的话不会再创建它,并且调用该actionform的reset方法!Top

6 楼panpan221(我是来学习的!)回复于 2004-05-04 15:12:13 得分 0

新手学习,关注Top

7 楼kenees(飞跃巅峰)回复于 2004-05-04 21:49:19 得分 0

开了半天还是没有一个比较标准的说法啊  
   
  VVV_lucky(*太阳*)兄的做法倒是可行,但是这样岂不是很麻烦啊。  
  还有就是,如果将一个actionForm放到session里面,他的reset方法到底是由谁负责调用呢?是由programer?还是servlet呢?Top

8 楼kenees(飞跃巅峰)回复于 2004-05-05 23:54:22 得分 0

自己UP一下~~一百分呢~Top

9 楼kenees(飞跃巅峰)回复于 2004-05-06 20:28:46 得分 0

唉~~Top

相关问题

  • BigDecimal的用法 (struts+hibernate)
  • Struts中的ActionForm
  • struts中request与actionForm
  • 关于struts中radio的用法,高分相送!!!!!
  • 请问,哪里有struts的标签用法的说明?
  • 关于Struts actionForm的问题
  • &*用法~~
  • 关于ActionForm的reset问题
  • 没有ActionForm可以实现struts么?
  • struts中的ActionForm中的validate方法

关键词

  • 属性
  • 函数
  • 信息
  • actionform
  • 表单
  • reset
  • 调用
  • 提交
  • 域
  • property

得分解答快速导航

  • 帖主:kenees
  • VVV_lucky
  • qinghui521
  • x980702paul
  • BillyW

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo