Struts2输入校验
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输入校验相关推荐
- Struts2输入校验之validate输入校验方式
一.在Web系统项目中有大量的视图页面需要用户自行输入很多数据.这些数据的类型有很多种.为了防止某些客户的恶意输入以及对Web项目的恶意破坏,必须引入输入校验,像Windows操作系统的防火墙一样把一 ...
- Struts 学习笔记2(输入校验、国际化、异常处理)
项目文件结构 项目源文件下载地址:http://dl.dbank.com/c05qyg3yir Struts2的输入校验 Struts2输入校验.执行流程: 1)首先进行类型转换 2)然后进行输入校验 ...
- 使用Struts2验证框架实现输入校验
学习了<Struts2权威指南>中关于Struts2的输入校验,自己动手测试了一把,也遇到一些问题,在这里记录一下.直接看代码: login.jsp [xhtml] view plainc ...
- 转载 - Struts2基于XML配置方式实现对action的所有方法进行输入校验
出处:http://www.cnblogs.com/Laupaul/archive/2012/03/15/2398360.html http://www.blogjava.net/focusJ/arc ...
- Struts 2的输入校验(一)
9 Struts 2的输入校验 输入校验有两种:客户端和服务器端校验.客户端校验一般是通过JavaScript来完成,这种校验可减轻服务器压力.服务器校验主要通过服务器端编程的方式来完成. (1) 客 ...
- Struts 2的输入校验(二)
9.2 基于Struts 2验证框架的输入校验 Struts 2提供了更高效,简易的校验框架,用户只需设置校验配置文件即可完成输入校验.基于验证框架来完成输入校验,只需在与Action同目录下下创建一 ...
- struts2类型转换+校验
http://383984216-qq-com.iteye.com/blog/1151938 1.action中validate()与validateXxx() 用于action执行前的校验,如果校验 ...
- 基于Annotation的输入校验
这种基于Annotation的输入校验实质上也属于Struts 2"零配置"特性的部分,它允许使用Annotation来定义每个字段应该满足的规则,Struts 2在com.ope ...
- validate验证长度 vue_vue input 输入校验字母数字组合且长度小于30的实现代码
下面一段代码给大家分享vue input 校验字母数字组合且长度小于30,具体代码如下所示: validateJyh(glhm){//校验关联交易号 var reg = /^[A-Za-z0-9]{1 ...
最新文章
- 016-热更新之FishingJoy一
- 学习压缩感知比较好的文章链接收藏
- Activity一共有以下四种launchMode
- centos6.5 安装docker方法
- linux 分区_Linux文件系统、逻辑分区、物理分区
- 在实际使用中 mysql所支持的触发器有_2016计算机二级MySQL冲刺题及答案
- 创建一列矩阵数字一样吗_吴恩达深度学习笔记(122) | NLP | 嵌入矩阵Embedding Matrix...
- python3 json_python3 json模块
- Docker部署项目的步骤,按步骤一步一步来,一切都会成功
- 简明Github使用教程(桌面客户端与网页版)
- 平庸程序员的成长笔记
- 产生am信号 matlab,基于MATLAB的AM信号的调制与解调论文.doc
- Mysql数据库高可用方案
- 计算机硬盘图标闪烁,电脑本地磁盘图标显示异常如何解决
- 智慧工厂是什么 智慧工厂方案举例 智慧工厂案例
- Web开发之常用框架BootStrap
- 数据结构与算法分析(三)数组练习代码
- null和空字符串('')的区别
- 太极·Magisk框架v4.1.3 安卓版
- 拓嘉辰丰电商:拼多多订单漏发怎么处理比较好
热门文章
- VTK:Utilities之BoundingBoxIntersection
- VTK:网格之BoundaryEdges
- VTK:Math之MatrixInverse
- Qt Designer的buddy编辑模式
- C++找到一个大于或等于n且为2的幂的数字p的算法实现(附完整源码)
- OpenGL实现Amiga Boing
- C++Quick sort快速排序的实现算法之二(附完整源码)
- C++求tree树的高度(附完整源码)
- Volatile关键字的详解
- C++中什么时候用new[]申请,可以用delete释放