struts中FormBean的reset和validate方法
2009-10-22 14:07
405 查看
Author:兆庆 Write Time:2009-10-22
首先,FormBean常规都是继承自ActionForm的,控制器对FormBean的控制就以ActionForm为例。
一、reset方法:
1、对于每个request,控制器都会先调用ActionForm的reset()方法,然后将表单数据组装到ActionForm中。如ActionForm在request范围内,那么对于每个新的request请求都会创建新的ActionForm实例。新实例创建后,如果它的属性已经被初始化为默认值(例如其中一个属性为:private String name = null;相应getter和setter方法略),那么接着再在reset()方法中把属性设为默认值不是很有必要,这时可以让reset()方法为空。
例如:在每次提交表单的时候,给FormBean里面的属性赋值之前调用reset方法,避免在前一次操作时在FormBean中遗留一些脏数据。
2、对于session范围内的ActionForm,同一ActionForm实例会被多个请求共享,reset()方法在这种情况下极为有用。
3、简而言之:当scope(作用域)找对应的FormBean,并且能够找到时,就会对该FormBean进行初始化,并调用reset方法。
二、validate方法:
进行表单验证的方法,如果页面中利用JavaScript或者在ActionBean中有代码的逻辑验证,该方法可空。
需要使用时,实现方法分两步骤:
1、在struts-config.xml中设置action的validate属性为"true"(默认为"true"),
<action path="/updateUser"
type="com.cn.lively.action.UpdateUserAction"
name="userForm"
scope="request"
input="/jsp/updateUser.jsp"
cancellable="true"
validate="true" >
<forward name="success" path="/jsp/validator/updateUserResults.jsp"/>
</action>
2、在相应的FormBean中重写其中的validate方法,在validate方法中实现自己的数据验证逻辑。
当然实现表单验证也可通过validation框架进行验证,这里就不做说明了。
首先,FormBean常规都是继承自ActionForm的,控制器对FormBean的控制就以ActionForm为例。
一、reset方法:
1、对于每个request,控制器都会先调用ActionForm的reset()方法,然后将表单数据组装到ActionForm中。如ActionForm在request范围内,那么对于每个新的request请求都会创建新的ActionForm实例。新实例创建后,如果它的属性已经被初始化为默认值(例如其中一个属性为:private String name = null;相应getter和setter方法略),那么接着再在reset()方法中把属性设为默认值不是很有必要,这时可以让reset()方法为空。
例如:在每次提交表单的时候,给FormBean里面的属性赋值之前调用reset方法,避免在前一次操作时在FormBean中遗留一些脏数据。
2、对于session范围内的ActionForm,同一ActionForm实例会被多个请求共享,reset()方法在这种情况下极为有用。
3、简而言之:当scope(作用域)找对应的FormBean,并且能够找到时,就会对该FormBean进行初始化,并调用reset方法。
二、validate方法:
进行表单验证的方法,如果页面中利用JavaScript或者在ActionBean中有代码的逻辑验证,该方法可空。
需要使用时,实现方法分两步骤:
1、在struts-config.xml中设置action的validate属性为"true"(默认为"true"),
<action path="/updateUser"
type="com.cn.lively.action.UpdateUserAction"
name="userForm"
scope="request"
input="/jsp/updateUser.jsp"
cancellable="true"
validate="true" >
<forward name="success" path="/jsp/validator/updateUserResults.jsp"/>
</action>
2、在相应的FormBean中重写其中的validate方法,在validate方法中实现自己的数据验证逻辑。
当然实现表单验证也可通过validation框架进行验证,这里就不做说明了。
相关文章推荐
- jquery-validate插件之resetForm方法清除历史错误提示信息
- Struts之form中reset方法的用途——(解决)
- struts资源文件的中文解决方法,附带Struts1.2动态FormBean加验证功能的一个例子
- Struts多module下配置Form validate并使用高级的validate方法
- Struts:把页面数据提交到Form的原理及使用方法
- easyui form validate总是返回false的原因及解决方法
- struts2.0-注意事项1则-action中setter-getter方法与bean class文件的getter-setter不同!!
- Struts中在使用DispatchAction时使用多个input,以及屏蔽不需要进行Form验证的方法
- struts-config.xml中action、forward、form-bean属性含义
- 在Struts--hibernate开发框架中,实现formbean与hibernate pojo的自动转换
- HTML的表单元素与Struts的FormBean关联实验(以Struts的helloapp为例)
- Struts中FormBean内部验证
- Struts Form中Date类型之“argument type mismatch”错误解决方法
- struts1.3中的validate方法用ActionMessage代替已被去除的ActionError
- No getter method for property suggested of bean org.apache.struts.taglib...解决方法
- Struts中重写ActionForm中validate方法验证表单
- Spring+Struts+Ajax Form提交中文处理方法
- struts bean:write标签输出html源码解决方法
- is this struts 1.x form bean in session scope or request scope?
- struts-config.xml中action、forward、form-bean属性含义