Struts2服务器端的验证(验证框架)
来源:互联网 发布:从ubuntu启动windows 编辑:程序博客网 时间:2024/05/01 04:09
一、struts2验证框架介绍
Struts2中提供了一套服务器端验证的框架,通过验证框架可以实现对数据数据的验证。struts2是webwork演变而来的,其验证框架正是webwork的那一套东西。
二、数据验证的方式
1、在action里继承ActionSupport
这是最简单的方式,直接在action中实现validate()方法即可,在此方法中编写验证代码。
private String userName; private String account; private String pwd; private int age; //请求处理方法 public String register(){ System.out.println(this.toString()); return Action.SUCCESS; } @Override public void validate() { System.out.println("validate is do......"); if(userName.length()<=0) this.addFieldError("userName", "用户名不能为空!!!"); if(age<6 || age>10) this.addFieldError("age","年龄超出范围!!"); }
配置文件:
<package name="user" extends="struts-default" namespace="/"> <action name="reg" class="cn.wzk.action.UserAction" method="register"> <result name="input">register.jsp</result> <result>index.jsp</result> </action> </package>
注意使用验证框架时action中result的name值需要提供input
Jsp页面
<%@ taglib prefix="s" uri="/struts-tags" %>------------------------------------------- <s:fielderror /> <form action="reg.action" method="post"> <table> <tr> <th>姓名:</th> <td> <input type="text" name="userName"/> </td> </tr> <tr> <th>账号:</th> <td> <input type="text" name="account"/> </td> </tr> <tr> <th>密码:</th> <td> <input type="text" name="pwd"/> </td> </tr> <tr> <th>年龄:</th> <td> <input type="text" name="age"/> </td> </tr> <tr> <td colspan="2"> <input type="submit" value="提交" /> </td> </tr> </table> </form>
注意事项:
使用struts2标签时,web.xml配置文件中应将
“*.action”改为“/*”
扩展方式
struts2中允许对不同的请求方法定义独立的验证方法。
实现
定义一个方法,方法名采用validate + 请求方法名()的形式进行验证方法的定义。定义过程中,请求方法名的首字母要大写。
public void validateRegister(){ System.out.println("validateRegister is do......"); if(userName.length()<=0) this.addFieldError("userName", "用户名不能为空!!!"); if(age<6 || age>10) this.addFieldError("age","年龄超出范围!!");}
执行过程
validateRegister—–>validate—–>action
2、使用xml配置文件:ActionClass-validations.xml
其实struts2已经内置了一些基本的数据验证,完全可以省去我们日常的一些数据验证需求,通过配置文件的方式。
在ActionClass所在的目录下,新建一个以ActionClass名字组合成的特定xml:ActionClass-validations.xml(例,我的ActionClass名为userAction,则我应该在同目录下建一名为userAction-validation.xml的文件)
步骤
添加Action类并继承ActionSupport
在Action所在的包下创建一个名为ActionName-validation.xml的文件
复制文档的声明到配置文件中(帮助文件下找)
添加validators根元素及验证器(validators—->字段—->validator—->参数及消息)
Jsp页面中添加struts2的标签
UserAction-validation.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"><!--根元素,用于定义验证器--> <validators> <!-- 定义字段信息,name用于指定待验证的字段名 --> <field name="userName"> <!-- 定义验证类型 com.opensymphony.xwork2.validator.validators >> default.xml 在default.xml中validator部分就是验证器的名称 --> <field-validator type="requiredstring"> <!-- 参数根据验证器后面的类去使用 --> <param name="trim">true</param> <message>用户名为必填信息</message> </field-validator> <field-validator type="stringlength"> <param name="trim">true</param> <param name="minLength">6</pa1ram> <param name="maxLength">10</param> <message>姓名的长度为${minLength}~${maxLength}字符</message> </field-validator> </field> <field name="age"> <field-validator type="int"> <param name="min">0</param> <param name="max">200</param> <message>年龄的取值范围为${min}~${max}</message> </field-validator> <field-validator type="requiredstring"> <param name="trim">true</param> <message>年龄为必填信息</message> </field-validator> </field></validators>
3、总结
struts2的验证框架是一种服务器端的验证。一般较少使用(一般网站中只采用客户端验证即可。但是一些安全性要全较高的项目都会采用客户端+服务器端验证的方式进行验证)。
- Struts2服务器端的验证(验证框架)
- struts2服务器端的表单验证
- struts2 输入验证(服务器端)
- Struts2验证(框架验证)
- struts2的验证框架
- struts2的框架验证
- struts2 的验证框架
- Struts2的验证框架
- struts2的验证框架
- struts2的框架验证 .
- struts2的验证框架
- struts2 服务器端验证流程
- Struts2服务器端验证
- Struts2之服务器端验证
- Struts2 服务器端验证流程
- 基于Struts2验证框架的输入验证
- struts2的validate验证框架(1)
- Struts2 验证框架的应用
- 百度MIP计划,移动站的首选
- 切图 移动端自己写好的按钮显示不一样
- caffe:LSTM源码分析
- closesocket函数和WSACleanup函数
- GCD 的几个常见的问题分析
- Struts2服务器端的验证(验证框架)
- rabbitmq的安装与启动
- 微信小程序开发详解(五)---微信小程序事件
- 根据窗口句柄来获取进程ID
- BootStrap入门教程 (一)
- jQuery选择器
- 2017年怎样的ui设计师更受互联网企业欢迎?
- Android之解决打包apk方法数不能超过65k的问题
- ASP.NET MVC 4 Mobile 介绍