struts2验证机制

  • 服务端验证

    • Action继承ActionSupport

      • 可以重写execute方法和validate方法

        @Override
            public void validate() {
                System.out.println("validate");
                if(age > 100 || age < 1) {
                    this.addActionError("invalid age");
                }
            }
      • validate()可以调用this.addActionError(errormsg)来输出错误提示信息

      • 不同请求处理的执行顺序
        • 请求execute方法处理validate() -> execute()
        • 请求执行Xxx方法处理validateXxx() -> validate() -> Xxx()
    • 需要配置input的结果集

  • struts2验证框架重点内容

    • 在对应的action包下添加验证框架的配置文件:

      • 名称为actionName-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>username required</message>
                </field-validator>
                <field-validator type="stringlength">
                    <param name="trim">true</param>
                    <param name="maxLength">10</param>
                    <param name="minLength">3</param>
                    <message>username length should be 3 - 10</message>
                </field-validator>
            </field>
            <field name="age">
                <field-validator type="int">
                    <param name="min">1</param>
                    <param name="max">100</param>
                    <message>age should be 1 - 100</message>
                </field-validator>
            </field>
        </validators>
    • 根标签: <validators>

    • 表单域: <field name="">,name为表单中要验证的属性名
    • 验证器: <field-validator type="">,type为验证器类型
    • 参数: <param>,验证器中的参数,可以对应的validator对象源码
    • 错误信息: <message>,错误信息,类型为FieldError

猜你喜欢

转载自blog.csdn.net/weixin_40683252/article/details/81061057
今日推荐