Struts验证框架

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

对年龄的验证
பைடு நூலகம் 案例
基于MXL校验的特点
windowspreferences->myelcipse->files andeditors->xml->xmlcatalog 点add,在出现窗口中的location中选 FileSystem,然后在xwork.2.1.2.jar的里面找 到src\java目录中选择xwork-validator1.0.3.dtd.回到设置窗口中的进修,应把窗口中 的keyType改为URL,key改为 http://www.opensymphony.com/xwork/x work-validator-1.0.3.dtd
Struts2的验证框架






验证日期范围 验证双精度/整型/长整型数值范围 邮箱验证 验证字段关系 必填项验证 字符串长度验证 URL验证 正则表达式验证
◦ 正则表达式能解决绝大部分验证问题
Struts2的验证框架能做什么?
9



在编写校验文件时,不能出现帮助信息





在Struts2中最简单的验证数据的方法是使用validate。 们从ActionSupport类的源代码中可以看到,ActionSupport类实 现了一个Validateable接口。 这个接口只有一个validate方法。 如果Action类实现了这个接口,Struts2在调用execute方法之前首 先会调用这个方法 我们可以在validate方法中验证,如果发生错误,可以根据错误的 level选择字段级错误,还是动作级错误。 并且可使用addFieldError或addActionError加入相应的错误信息 如果存在Action或Field错误,Struts2会返回“input”(这个并不 用开发人员写,由Struts2自动返回) 如果返回了“input”,Struts2就不会再调用execute方法了。 如果不存在错误信息,Struts2在最后会调用execute方法。
Struts—第八章
Struts验证框架
1
要实现功能





Struts2验证实现的方法 怎么样将数据类型转换出现的错误改成自己的错 误信息 怎么样将信息进行简单国际化 全局验证信息及局部验证信息如何实现 怎么样验证某个方法 验证的流程
上节回顾
验证框架的使用 重点:

◦ 验证框架各个标签的含义 ◦ 需要在哪个文件中进行
本节目标
输入验证的必要性 输入验证的分类

◦ 客户端验证 ◦ 服务器端验证

Struts2输入验证的方式
◦ 手动验证
数据类型不匹配(由struts2自动实现) 值在某个合法范围内使用( validate()方法实现)
◦ 验证框架自动验证
本节目标

Struts2提供了基于xml文件的验证框架 Action需要继承ActionSupport类,并且提供校验文件 校验文件和action类放在同一包下 验证框架配置文件的名称 Actionname-validation.xml 前面是action的名字,后面红字是固定格式 Struts2提供了很多系统的验证,包括在xwork下面的, com.opensymphoy.validate.validator 里 default.xml文件中定义

出生日期必须在毕业日期之后的验证

<field name="age"> <field-validator type="int"> <param name="max">150</param> <param name="min">1</param> <message>int should between ${min} and ${max} </message> </field-validator> </field> <field name="birthday"> <field-validator type="required"> <param name="value"></param> <message>date should not blank</message> </field-validator> </field>
对密码的验证

1、需要validate()方法中按原来的方法进行 2、字段表达式检验器(要求指定字段满足一个逻辑表达式) <validators> <field name="re_pass"> <field-validator type="fieldexpression"> <!--指定逻辑表达式 --> <param name="expression"> (pass eq re_pass)</param> <message>密码必须和确认密码相等</message> </field-validator> </field> </validators>
验证密码确认密码必须相同
<field-validator type="fieldexpression"> <param name="expression"><![CDATA[bydate>bi rthday]]></param> <message>出生日期必须在毕业日期 之后</message> </field-validator>
Struts2提供的校验器列表

验证失败后,struts会自动跳转到result为input 的URL中,在页面中显示错误信息使用下面的标签
◦ <s:fielderror>
此时,显示所有错误信息 通过fieldName显示指定属性的错误信息
显示验证错误信息
14



对RegisterAction的username进行验 证



系统提供的校验证如下: required(必填校验器,要求field的值不能为null) requiredstring(必填字符串较验器,要求field的值不能为null,并 且长度大于0,默认情况下,会对字符中去除前后空格。 stringlength字符串长度校验器,要求field的值必须须指定的范围 内,否则校验失败,minLength参数指定最小长度,maxLength参 数指定最大长度,trim参数指定校验field之前是否去除字符地串前 后空格。 regex正则表达式校验器,检查被校验的field地否匹配一个正则表 达式。 int :整数校验器,要求filed字段的值必须在指定的范围内,min指 最小值 ,max指定最大值 double 双精度校验器,同int
一个校验文件的格式


<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN" "http://www.opensymphony.com/xwork/xworkvalidator-1.0.dtd"> <validators> <field name="username"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>username should not be blank!</message> </field-validator> <field-validator type="stringlength"> <param name="minLength">6</param> <param name="maxLength">10</param> <message>username should between ${minLength} and ${maxLength}</message> </field-validator> </field> </validators>
总结
请查找j2ee支持的多少种设计模式 请说出五种以上的设计模式

作业:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN" "http://www.opensymphony.com/xwork/xworkvalidator-1.0.dtd"> <validators> <field name="username"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>username should not be blank!</message> </field-validator> <field-validator type="stringlength"> <param name="minLength">6</param> <param name="maxLength">10</param> <message>username should between ${minLength} and ${maxLength}</message> </field-validator> </field> </validators>
Struts2提供的校验器列表

Fieldexpression:字段ognl校验器,要求field满足一个 ognl表达式,expression参数指定ognl表达式。 email :邮件校验器,要求如果field字段非空的话,则 email必须是一个合法的邮件地址 url:URL校验器,同email date :日期校验器,要求field字段必须在指定范围内, min max 来指定 conversion:转换校验器,要指定在类型转换失败时, 提示错误信息。 visitor:用于校验action中的复合属性,它指定一个校 验文件用于校验复合属性中的属性
<field name="password"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>password should not be blank!</message> </field-validator> <field-validator type="stringlength"> <param name="minLength">6</param> <param name="maxLength">10</param> <message>username should between ${minLength} and ${maxLength}</message> </field-validator> </field>
相关文档
最新文档