首页 > 网站 > WEB开发 > 正文

Struts2——框架校验(基于XML配置方式)

2024-04-27 15:03:58
字体:
来源:转载
供稿:网友

1、定义Action 继承ActionSupport或者实现Validateable接口:

2、配置验证出错转向的页面(配置name为input的result)

3、配置验证的xml文件

ActionClassName-validation.xml(同个包)其中ActionClassName为 action的简单类名,-validation为固定写法。

4、添加验证规则

<validators>: 根元素<field>:指定action中要校验的属性,name属性指定将被验证表单字段的名字<field-validator>:指定校验器, type 指定验证规则。<param>:子元素可向验证程序传递参数<message>:校验失败后的提示信息,可为message指定key的编码类型(utf-8)

5、一些常用的验证属性

required: 确保某给定字段值不是空值 null

requiredstring: 确保某给定字段的值既不是空值 null, 也不是空白.

trim (参数): 默认为true, 表示验证该字段值前先剔除前后空格.

stringlength: 验证一个非空字段值是否满足长度要求.

minLength:相关字段的最小长度. 若未给出没有最小长度限制 maxLength:相关字段的最大长度. 若未给出没有最大长度限制 trim: 在验证之前是否去除前后空格

int: 检查给定字段的值是否可以被转换为一个整数

min: 相关字段的最小值. 若没给出这个参数, 该字段将没有最小值限制 max: 相关字段的最大值. 若没给出这个参数, 该字段将没有最大值限制

date: 确保某给定日期值在一个给定范围内

max:相关字段的最大值. 若没给出该参数, 该字段无最大值限制 min:相关字段的最小值. 若没给出该参数, 该字段无最小值限制//使用SimpleDateForamat类, 改输出日期格式Date date = new Date();SimpleDateForamat strdate = new SimpleDateFormat("YYYY-MM-dd");//使输出的格式为YYYY-MM-ddSystem.out.PRintln(strdate.format(date)); // 输出为你需要的格式 2020-4-14

email: 检查给定 String 值是否是一个合法的 email

url: 检查给定 String 值是否是一个合法的 url

regex: 检查某给定字段的值是否与一个给定的正则表达式模式相匹配.

expression: 用来匹配的正则表达式 caseSensitive: 是否区分字母的大小写. 默认为 true trim: 是否去除前后空格. 默认为 true

6、特别注意配置jsp页面

<%@taglib uri="/struts-tags" prefix="s" %>//标签引用头文件<s:fielderror></s:fielderror>//显示xml配置<message>的信息

7、一个小栗子 Loginaction.java

//注意继承ActionSupportpublic class Loginaction extends ActionSupport implements ModelDriven{ User user = new User(); @Override public String execute() throws Exception { return SUCCESS; } @Override public Object getModel() { // TODO 自动生成的方法存根 return user; }}

struts.xml

<action name="Loginaction" class="com.dao.Loginaction"> <result>/success.jsp</result> <result name="input">/login.jsp</result> //input设置验证失败页面 </action>

Loginaction-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> <field name="name"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>用户名必填</message> </field-validator> </field> <field name="email"> <field-validator type="email"> <message>email格式不正确</message> </field-validator> </field></validators>

验证失败效果图 这里写图片描述 这里写图片描述


验证成功效果图 这里写图片描述 这里写图片描述


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表