`
kevin.wang
  • 浏览: 243575 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts2类型转换和输入校验的流程

    博客分类:
  • Web
阅读更多
   在表单的提交过程中经常碰到应该是数字的类型,但是表单提交的是字母,所以在struts2的自动类型转换中将导致类型转换异常,struts2中也有自定义的处理机制,例如是int的属性age,但是你提交的值是abc,在转换中出现异常,struts2自动调用addFieldError方法,把错误增加进去,但是struts2自动增加的错误提示信息是英文的:Invalid field value for field "age".
    但是我们需要自定义这个错误提示信息的话就需要另外的方法了。(首先进行类型转换,再调用set进行属性的设置,然后再执行validate(),最后执行execute(),当类型转换出现异常的时候异常的属性会获得一个初始值int的为0,string的为null,同时validate()方法还是会执行的)
  1. 局部属性文件实现
假如对RegisterAction类中的类型转换异常做处理,则在类文件的同一个目录下建立RegisterAction.properties文件,在文件中输入invalid.fieldvalue.age=age convert error误。(invalid.fieldvalue.*前面的两个单词都是固定的*对应action类的属性名。如果希望提示信息为中文,可以通过native2ascii工具把中文转换一下,然后把转换后的信息放这就可以了)。
  2. 全局属性文件实现
建立一个全局的属性文件,同时在struts.xml文件中配置一下属性文件的信息。


注:
1. 首先Struts2对客户端传来的数据进行类型转换
2. 类型转换完毕后再进行输入校验,默认情况执行validate方法
3. 如果类型转换和输入校验都没有错误发生,那么进入execute方法(调用商业逻辑)

遇到类型转换错误的时候(也就是说不能进行类型转换),struts2框架自动生成一条错误信息,并且将该错误信息放到addFieldError里面
注意:如果类型转换不成功,也同样要进行输入校验
分享到:
评论

相关推荐

    struts2笔记

    struts2学习笔记,详细说明了struts2框架的执行流程,类型转换,输入校验和国际化等等

    struts2 详解文档

    输入校验的流程 基于XML配置方式实现对action的所有方法进行校验 基于XML配置方式实现对指定action方法校验 配置国际化全局资源文件、输出国际化信息 输出带有占位符的国际化信息 配置包范围国际化资源文件 ...

    struts2学习笔记!

    struts2学习笔记!因为还没有全部学完,所以分部分分享!主要内容:struts.xml配置,web.xml配置 Action要点!全局类型转换,部分类型转换,类型转换文件 类型装换错误的处理问题局部使用,把...struts2对数据转换与输入校验流程

    Java Web程序设计教程

    6.3.3应用struts2输入校验框架 128 6.3.4自定义校验器 130 6.4国际化 131 6.4.1国际化实现原理 131 6.4.2准备国际化资源文件 131 6.4.3调用国际化资源文件 134 6.5上传和下载 135 6.5.1文件上传的实现原理 ...

    Struts in Action中文版

    2.4.4. Struts如何实现 Model 2, MVC, 和分层............................................................49 2.5. Struts 控制流...............................................................................

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

     国内知名的高端IT技术作家,已出版《Spring 2.0宝典》、《基于J2EE的Ajax宝典》、《轻量级J2EE企业应用实战》、《Struts 2权威指南》、《Ruby On Rails敏捷开发最佳实践》等著作。 目录: 第0章 学习Java...

    struts in Action

    2.4.4. Struts 如何实现Model 2, MVC, 和分层............................................................49 2.5. Struts 控制流................................................................................

    最新Java面试宝典pdf版

    21、STRUTS的工作流程! 126 22、spring 与EJB的区别!! 126 八. 软件工程与设计模式 126 1、UML方面 126 2、j2ee常用的设计模式?说明工厂模式。 126 3、开发中都用到了那些设计模式?用在什么场合? 127 九. j2ee...

    Java面试笔试资料大全

    21、STRUTS的工作流程! 126 22、spring 与EJB的区别!! 126 八. 软件工程与设计模式 126 1、UML方面 126 2、j2ee常用的设计模式?说明工厂模式。 126 3、开发中都用到了那些设计模式?用在什么场合? 127 九. j2ee...

    JAVA面试宝典2010

    21、STRUTS的工作流程! 126 22、spring 与EJB的区别!! 126 八. 软件工程与设计模式 126 1、UML方面 126 2、j2ee常用的设计模式?说明工厂模式。 126 3、开发中都用到了那些设计模式?用在什么场合? 127 九. j2ee...

    Java面试宝典-经典

    21、STRUTS的工作流程! 126 22、spring 与EJB的区别!! 126 八. 软件工程与设计模式 126 1、UML方面 126 2、j2ee常用的设计模式?说明工厂模式。 126 3、开发中都用到了那些设计模式?用在什么场合? 127 九. j2ee...

    java面试题大全(2012版)

    21、STRUTS的工作流程! 126 22、spring 与EJB的区别!! 126 八. 软件工程与设计模式 126 1、UML方面 126 2、j2ee常用的设计模式?说明工厂模式。 126 3、开发中都用到了那些设计模式?用在什么场合? 127 九. j2ee...

    Java面试宝典2010版

    21、STRUTS的工作流程! 126 22、spring 与EJB的区别!! 126 八. 软件工程与设计模式 126 1、UML方面 126 2、j2ee常用的设计模式?说明工厂模式。 126 3、开发中都用到了那些设计模式?用在什么场合? 127 九. j2ee...

    java面试宝典2012

    21、STRUTS的工作流程! 137 22、spring 与EJB的区别!! 137 八. 软件工程与设计模式 138 1、UML方面 138 2、j2ee常用的设计模式?说明工厂模式。 138 3、开发中都用到了那些设计模式?用在什么场合? 138 九. j2ee...

    Java面试宝典2012版

    一. Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。...21、STRUTS的工作流程! 126 22、spring 与EJB的区别!! 126 ...

    Java面试宝典2012新版

    21、STRUTS的工作流程! 126 22、spring 与EJB的区别!! 126 八. 软件工程与设计模式 126 1、UML方面 126 2、j2ee常用的设计模式?说明工厂模式。 126 3、开发中都用到了那些设计模式?用在什么场合? 127 九. j2ee...

    Spring攻略(第二版 中文高清版).part2

    7.2 用不同状态类型建立Web流程模型 246 7.2.1 问题 246 7.2.2 解决方案 246 7.2.3 工作原理 246 7.3 加强Web流程安全 257 7.3.1 问题 257 7.3.2 解决方案 258 7.3.3 工作原理 258 7.4 持续存储Web...

    Spring攻略(第二版 中文高清版).part1

    7.2 用不同状态类型建立Web流程模型 246 7.2.1 问题 246 7.2.2 解决方案 246 7.2.3 工作原理 246 7.3 加强Web流程安全 257 7.3.1 问题 257 7.3.2 解决方案 258 7.3.3 工作原理 258 7.4 持续存储Web...

Global site tag (gtag.js) - Google Analytics