`
lijun87
  • 浏览: 267888 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

ActionForm中reset()的用法[转]

阅读更多
ActionForm中reset()的用法- -
       转自:[url]             http://hi.baidu.com/fly_dream/blog/item/e4aaa0cc857f301100e92844.html[/url]   
                                   
这个方法可能被好多人遗忘,但是它确实能解决我们棘手的问题.



     我们写的FormBean必须实现ActionForm的超类,reset方法就是定义在这个超类中的.打开源代码可以看到它实际没做什么. 你要使用它,必须自己实现相应的逻辑.

     reset方法的调用时间是在ActionServlet给它重新赋值的时候.也就是说,当ActionServlet把View层的数据组装好,给FromBean的各个属性赋值之前,会先调用reset方法,然后ActionServlet再把页面的值赋上.

    在处理页面的checkbox的时候,reset方法的作用就表现出来了. 页面上的checkbox在未被选中的时候是不被提交的,在新增的时候还好,你可以通过这个属性是否为null判断这个checkbox是否被选中,但是在修改操作的时候, 如果之前checkbox是被选中的,但是修改的时候你取消了选中, 提交的时候,那么FormBean中的这个属性值就不会被覆盖,还是选中状态的值! 这个时候我们覆写reset方法,就可以解决这个问题.

   例如:

   是否显示:

   FormBean中的reset()可以这样:

   public void reset(ActionMapping arg0, HttpServletRequest arg1) {
      super.reset(arg0, arg1); 
      this.isDiplay="false";
   }

    在每次组装数据前,reset都会把isDiplay置为false,如果页面上被选中,就会再次被设置为true, 如果未被选中还会保持false !
分享到:
评论

相关推荐

    Struts_学习笔记之ActionForm

    reset()方法用于恢复ActionForm的默认值,而validate()方法用于验证用户的表单数据。这些方法的默认实现是不执行任何操作,我们可以重写这些方法来实现相关逻辑。 3. ActionForm的使用 在Struts中,ActionForm需要...

    ActionForm属性中存在对象数组如何处理

    在`reset`方法中,我们从请求中获取对象的数目,然后创建相应大小的`Student`对象数组: ```java public class MultiForm extends ActionForm { private Student[] stu; public Student[] getStu() { return ...

    struts课堂资料\第五章(动态ActionForm与控制器)2

    它可能涵盖了如何创建和使用动态ActionForm,如何实现和调用reset()方法,以及如何利用ValidatorForm进行数据验证等内容。通过实际操作这个项目,开发者可以更好地理解和掌握Struts中控制器的工作原理和动态表单的...

    ValidatorActionForm,ValidatorForm和ActionForm.区别

    在 Struts 1.1 版本中,ActionForm 在创建后会被调用 `reset()` 方法,然后通过 `RequestProcessor` 的 `processPopulate()` 方法填充表单数据。表单参数值与 ActionForm 中相应属性的 setter 方法进行匹配。 #### ...

    Struts中文乱码解决方案

    如果你在 ActionForm 的 `reset` 方法中遇到中文乱码,可以在该方法内设置请求的字符编码: ```java public void reset(ActionMapping mapping, HttpServletRequest request) { try { request.setCharacter...

    Struts 中 Html 标签库 的用法(第二组标签,与Form相关的标签 ).rar

    8. `<html:reset>`标签:生成重置按钮`<input type="reset">`,用于清除表单中的所有输入。 9. `<html:errors>`标签:这个标签用于显示ActionForm验证过程中产生的错误信息,将所有的错误消息集中显示在一个地方。 ...

    Struts 的动态复选框和单选框处理

    你可以重写ActionForm的reset方法,或者在用户的登出操作中清除相关数据。 ### 总结 Struts通过其强大的Taglib库简化了动态复选框和单选框的处理,提供了灵活的表单创建和数据处理能力。理解`html:multibox`的工作...

    在struts中实现下拉列表

    例如,你可以在ActionForm的`reset`方法中添加代码: ```java public void reset(ActionMapping mapping, HttpServletRequest request) { List<Option> options = loadOptionsFromDatabase(); // 自定义方法,从...

    struts核心类用法

    ### Struts核心类用法详解 #### 一、概述 在Java Web开发中,Struts框架作为MVC架构模式的一种实现,提供了丰富的功能与便捷的API来...掌握这些核心类的工作原理和使用方法对于开发高质量的Java Web应用至关重要。

    struts调用流程总结,适用于初学者.

    - 当ActionServlet接收到HTTP请求,它会在`doGet()`或`doPost()`方法中调用`process()`方法,接着由RequestProcessor处理实际的请求。 2. **ActionForm**: - ActionForm用于封装来自客户端表单的数据。当请求...

    struts_进阶

    具体做法是在`reset()`方法中调用`initialize()`方法。 ```java public class CustomDynaActionForm extends DynaActionForm { @Override public void reset(ActionMapping mapping, HttpServletRequest request)...

    关于struts表单验证

    如果在`validate()`方法中发现错误,你应该使用ActionErrors对象记录这些错误。例如,在登录表单验证中,我们可以检查用户名和密码是否为空,如果为空则添加一个ActionError对象到ActionErrors: ```java public ...

    Structs培训.doc

    2. **配置读取**:`ActionServlet`会从`structs-config.xml`配置文件中读取信息,这些信息包括Action、ActionMapping、ActionForm等的定义,然后将这些信息存储在内存中,以便后续使用。 3. **请求处理**:当收到...

    struts的总结(struts1.x)

    ### Struts 1.x 总结 #### 一、Struts 框架概述 Struts 是一个基于 Java 的开源框架,它实现了 Model-View-Controller (MVC) 设计模式,帮助...希望这些内容能帮助读者更好地理解和掌握 Struts 1.x 框架的使用方法。

    Struts标签 解说和练习

    三、Struts标签使用方法 1. 引入标签库:在JSP页面中通过`<%@ taglib %> `指令引入Struts标签库。 2. 标签属性:每个Struts标签都有特定的属性,如`name`、`property`等,用来指定与ActionForm或Bean的关联。 3. ...

    struts面试宝典

    - 使用`setter`方法对ActionForm中的属性进行赋值。 - 根据配置信息决定是否需要进行表单验证。如果需要,则调用ActionForm的`validate()`方法进行验证。 - 如果表单验证成功(即`validate()`方法返回的`...

    Struts 表单验证 实例

    除了`validate()`方法之外,我们还可以重写`reset()`方法来初始化`ActionForm`对象的状态。这个方法通常在表单提交后被调用,以便清除表单数据或进行其他初始化操作。 ```java @Override public void reset...

    Struts标签- HTML标签

    在Struts表单中使用Hibernate实体类作为ActionForm,可以直接通过HTML标签与数据库对象交互,简化数据操作。 7. **Struts 1与Struts 2的区别** 在Struts 2中,HTML标签被替换为更强大的Struts Tags,提供了更多的...

    JAVA高级题库,structs,herbernet

    ActionForm Bean包含了用于验证表单数据的方法和设置默认值的方法,它被用来存储用户在表单中输入的数据,并在Controller中处理这些数据。ActionForm的执行步骤大致如下: - 根据配置信息找到ActionForm Bean实例。 ...

    struts教程PPT

    2. `<html:text>`、`<html:password>`、`<html:textarea>`:用于创建输入控件,与ActionForm中的属性关联。 3. `<html:submit>`、`<html:reset>`:用于创建提交和重置按钮。 4. `<logic:equal>`、`...

Global site tag (gtag.js) - Google Analytics