1.校验表单信息是否符合常规(输入校验)

ActionSupport实现接口Validateable,接口中定义方法validate,需要

Override方法validate

2.校验类型转换(类型转换)

(1)全局校验

在struts.xml中添加

<constant name="struts.custom.i18n.resources"value="message">

</constant>

在src目录下创建文件message.properties

内容如下:

xwork.default.invalid.fieldvalue={0} error

(2)局部校验

在需要校验的RegisterAction的同一包下,创建文件

RegisterAction.properties,内容如下

invalid.fieldvalue.age=age conversion error

(invalid.fieldvalue.age=\u5e74\u9f84\u4fe1\u606f\u8f93\u5165

\u4e0d\u6b63\u786e)

3.类型转换与输入校验的流程

(1)首先struts2对客户端传来的数据进行类型转换

(2)类型转换完毕后再进行输入校验

(3)如果类型转换和输入校验都没有错误发生,那么进入excute方法

(调用商业逻辑)

注意:如果类型转换不成功,也同样进行输入校验

4.当不同的逻辑调用同一个类中不同的方法时,应该对不同方法进行单独

校验,具体实现步骤如下:

(1)在struts.xml中配置多个

<action name="register"

class="com.test.action.RegisterAction" method="abc">

<result name="success">/success.jsp</result>

<result name="input">/register2.jsp</result>

</action>

调用不同的method

(2)在action中写多个validate方法

public void validateAbc(){}

注意:当需要校验excute方法时,用validateExcute方法来代替

validate方法,避免任何一个方法校验都会调用validate方法

控制台打印信息如下:

validateAbc() invoked

validate~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

abc method invoked

转载于:https://blog.51cto.com/liuxiuqing/793819

Struts2输入校验相关推荐

  1. Struts2输入校验之validate输入校验方式

    一.在Web系统项目中有大量的视图页面需要用户自行输入很多数据.这些数据的类型有很多种.为了防止某些客户的恶意输入以及对Web项目的恶意破坏,必须引入输入校验,像Windows操作系统的防火墙一样把一 ...

  2. Struts 学习笔记2(输入校验、国际化、异常处理)

    项目文件结构 项目源文件下载地址:http://dl.dbank.com/c05qyg3yir Struts2的输入校验 Struts2输入校验.执行流程: 1)首先进行类型转换 2)然后进行输入校验 ...

  3. 使用Struts2验证框架实现输入校验

    学习了<Struts2权威指南>中关于Struts2的输入校验,自己动手测试了一把,也遇到一些问题,在这里记录一下.直接看代码: login.jsp [xhtml] view plainc ...

  4. 转载 - Struts2基于XML配置方式实现对action的所有方法进行输入校验

    出处:http://www.cnblogs.com/Laupaul/archive/2012/03/15/2398360.html http://www.blogjava.net/focusJ/arc ...

  5. Struts 2的输入校验(一)

    9 Struts 2的输入校验 输入校验有两种:客户端和服务器端校验.客户端校验一般是通过JavaScript来完成,这种校验可减轻服务器压力.服务器校验主要通过服务器端编程的方式来完成. (1) 客 ...

  6. Struts 2的输入校验(二)

    9.2 基于Struts 2验证框架的输入校验 Struts 2提供了更高效,简易的校验框架,用户只需设置校验配置文件即可完成输入校验.基于验证框架来完成输入校验,只需在与Action同目录下下创建一 ...

  7. struts2类型转换+校验

    http://383984216-qq-com.iteye.com/blog/1151938 1.action中validate()与validateXxx() 用于action执行前的校验,如果校验 ...

  8. 基于Annotation的输入校验

    这种基于Annotation的输入校验实质上也属于Struts 2"零配置"特性的部分,它允许使用Annotation来定义每个字段应该满足的规则,Struts 2在com.ope ...

  9. validate验证长度 vue_vue input 输入校验字母数字组合且长度小于30的实现代码

    下面一段代码给大家分享vue input 校验字母数字组合且长度小于30,具体代码如下所示: validateJyh(glhm){//校验关联交易号 var reg = /^[A-Za-z0-9]{1 ...

最新文章

  1. 016-热更新之FishingJoy一
  2. 学习压缩感知比较好的文章链接收藏
  3. Activity一共有以下四种launchMode
  4. centos6.5 安装docker方法
  5. linux 分区_Linux文件系统、逻辑分区、物理分区
  6. 在实际使用中 mysql所支持的触发器有_2016计算机二级MySQL冲刺题及答案
  7. 创建一列矩阵数字一样吗_吴恩达深度学习笔记(122) | NLP | 嵌入矩阵Embedding Matrix...
  8. python3 json_python3 json模块
  9. Docker部署项目的步骤,按步骤一步一步来,一切都会成功
  10. 简明Github使用教程(桌面客户端与网页版)
  11. 平庸程序员的成长笔记
  12. 产生am信号 matlab,基于MATLAB的AM信号的调制与解调论文.doc
  13. Mysql数据库高可用方案
  14. 计算机硬盘图标闪烁,电脑本地磁盘图标显示异常如何解决
  15. 智慧工厂是什么 智慧工厂方案举例 智慧工厂案例
  16. Web开发之常用框架BootStrap
  17. 数据结构与算法分析(三)数组练习代码
  18. null和空字符串('')的区别
  19. 太极·Magisk框架v4.1.3 安卓版
  20. 拓嘉辰丰电商:拼多多订单漏发怎么处理比较好

热门文章

  1. VTK:Utilities之BoundingBoxIntersection
  2. VTK:网格之BoundaryEdges
  3. VTK:Math之MatrixInverse
  4. Qt Designer的buddy编辑模式
  5. C++找到一个大于或等于n且为2的幂的数字p的算法实现(附完整源码)
  6. OpenGL实现Amiga Boing
  7. C++Quick sort快速排序的实现算法之二(附完整源码)
  8. C++求tree树的高度(附完整源码)
  9. Volatile关键字的详解
  10. C++中什么时候用new[]申请,可以用delete释放