一、用户输入验证

1、手工编程验证

动作类中的所有方法进行验证:

   步骤:

    a、动作类继承ActionSupport

    b、覆盖调用public void validate()方法

    c、在validate方法中,编写不符合要求的代码判断,并调用父类的addFieldError(String fieldName,String errorMessage)

    如果fieldError(存放错误信息的Map)有任何的元素,就是验证不通过,动作方法不会执行。

Struts2框架会返回到name=input的result

    d、在name=input指定的页面上使用struts2的标签显示错误信息。<s:fielderror/>

   

动作类中指定的方法进行验证:

    编写步骤与上面相同

   验证方法书写有要求:

    public void validateXxx()   Xxx代表的是要验证的动作方法名,其中要把动作方法名的首字母变为大写。

2、基于XML配置文件的方式:

动作类中的所有方法进行验证:

    在动作类的包中,建立一个名称为:动作简单类名-validation.xml ,比如要验证的动作类名是UserAction   UserAction-validation.xml

内容如下:

用户名不能为空

动作类中指定的方法进行验证:

    配置文件的名称书写有一定要求。

    动作类名-动作名(配置文件中的动作名)-validation.xml

        UserAction-user_add-validation.xml

    3、自定义基于XML的验证器

        a、编写一个类,继承FieldValidatorSupport类。

        b、在public void validate(Object object)编写你的验证逻辑

            不符合要求的就向fieldErrors中放消息

        c、一定注册你的验证器才能使用

    在WEB-INF/classes目录下建立一个名称为validators.xml的配置文件,内容如下:

    

    d、日后就可以像使用Struts2提供的16个验证器方式去使用了。