struts2的输入校验
类型转换与输入校验的流程:
1.首先struts2对客户端传来的数据进行类型转换
2.类型转换完毕后再进行输入校验
3. 如果类型转换和输入校验都没有错误发生,再会进入execute方法
一 .对于类型转换发生了错误 ,struts2会自动产生一些错误的提示
要修改这些默认的提示有两种方法
1.全局的方法:
首先在struts.xml里加入:<constant name="struts.custom.i18n.resources" value="message"></constant>
message可以随便定, 然后在src目录下,建立一个与value值对应的:message.properties文件
文件的内容是:xwork.default.invalid.fieldvalue={0} error 前面的部分是固定的
2.局部的方法:
在与要验证的action同一个包下,并且名字也相同,只是多了properties 如:xxxaction.properites
invalid.fieldvalue.age=错误的信息 invalid.fieldvalue都相同
[color=red]对于struts2,有Filed与action区别的错误 *
[/color]
对于
设theme="simple" 可以不用struts2标签默认带来的东西
对于struts2的,一个action处理多个业务
就是在struts.xml文件的<action>标签中,设置一个method="abc "
而对应的action文件中:
// public String abc() throws Exception
// {
// System.out.println("abc method invoked");
//
// return SUCCESS;
// }
//
对应的验证方法
// public void validateAbc()
// {
// System.out.println("validateAbc() invoked");
// }
//
使用验证框架进行验证:
1.对那个action里的字段进行校验,就得与action同一个包下,建一个xxx--validation.xml
如果要验证对应actionj里,执行的方法的验证:名称取为:xxx(aciton名)-yyy(方法名)--validation.xml
示例的代码如下:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"><validators><!-- <validator type="requiredstring"> <param name="fieldName">username</param> <message>username should not be blank!</message></validator><validator type="stringlength"> <param name="fieldName">username</param> <param name="minLength">6</param> <param name="maxLength">10</param> <message>username should be between ${minLength} and ${maxLength}</message></validator>--><field name="username"> <field-validator type="requiredstring"> <param name="trim">true</param> <message key="username.xml.invalid"></message> </field-validator> <field-validator type="stringlength"> <param name="minLength">6</param> <param name="maxLength">10</param> <message>username should be between ${minLength} and ${maxLength}</message> </field-validator></field><field name="password"> <field-validator type="requiredstring"> <message>password should not be blank!</message> </field-validator> <field-validator type="stringlength"> <param name="minLength">6</param> <param name="maxLength">10</param> <message>password should be between ${minLength} and ${maxLength}</message> </field-validator></field><field name="repassword"> <field-validator type="requiredstring"> <message>repassword should not be blank!</message> </field-validator> <field-validator type="stringlength"> <param name="minLength">6</param> <param name="maxLength">10</param> <message>repassword should be between ${minLength} and ${maxLength}</message> </field-validator></field><field name="age"> <field-validator type="required"> <message>age should not be blank!</message> </field-validator> <field-validator type="int"> <param name="min">1</param> <param name="max">150</param> <message>age should be between ${min} and ${max}</message> </field-validator></field><field name="birthday"> <field-validator type="required"> <message>birthday should not be blank!</message> </field-validator> <field-validator type="date"> <param name="min">2001-01-01</param> <param name="max">2003-12-31</param> <message>birthday should be between ${min} and ${max}</message> </field-validator></field><field name="graduation"> <field-validator type="required"> <message>graduation should not be blank!</message> </field-validator> <field-validator type="date"> <param name="min">2005-01-01</param> <param name="max">2007-12-31</param> <message>graduation should be between ${min} and ${max}</message> </field-validator></field></validators>
相关资源:Struts2 校验器