美文网首页struts2
Struts2 输入校验

Struts2 输入校验

作者: 藝龍 | 来源:发表于2017-10-23 15:13 被阅读0次

Struts2 输入校验


Struts2 的表单输入校验有多种方法。

  1. 重写 ActionSupport 类的 validate() 方法。
      将需要验证的逻辑写在该方法中,那么当执行该Action的时候会先执行该方法再执行execute()方法。但这个方法有一个缺陷,就是一个表单只能对应一个Action.
  2. 重写 validateXxx 方法。
      比如在 LoginAction 类中,我们想有验证login表单和regist表单的两个验证方法,则分别定义 validateLogin()validateRegist() 方法,然后在配置 struts.xml 时指定 action=login 时执行 login() 方法,action=regist 时执行 regist() 方法,这样就会先执行 validateLogin 或者 validateRegist, 校验成功时再执行 login()regist()。这个方法的逻辑比较清晰,相对第一个方法要好。
  3. 使用 Struts2 验证框架,利用 ***-validation.xml 配置文件
      比如执行 login 表单逻辑的 LoginAction.java 中定义了正常的 getter 和 setter 方法,就是一个正常的Action类。那么验证 login 表单就可以用 LoginAction-validation.xml 来验证,而且两个文件要放在同一个目录中。这个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>
    <field name="username">
        <field-validator type="requiredstring">
            <param name="trim">true</param>
            <message key="username.required"></message>
        </field-validator>
    </field>
    <field name="psd">
        <field-validator type="requiredstring">
            <param name="trim">true</param>
            <message key="psd.required"></message>
        </field-validator>
    </field>
</validators>

上面的代码是分别对用户名和密码字段进行验证。

先说一下<field-validator>标签,type属性确定了校验器的名称。struts2中有很多可用的校验器。如:

(1)必填校验器 required

(2)必填字符串校验器 requiredstring

(3)整数校验器 int

(4)日期校验器 date

(5)字段表达式校验器 fieldexpression

(6)邮件地址校验器 email

(7)网址校验器 url

(8)字符串长度校验器 stringlength

(9)正则表达式校验器 regex

用的时候可以具体查一下有哪些param.

再说一下 <message>标签,这是当验证不通过时返回给前端的提示信息,可以写在<message></message>标签中间,但为了实现国际化,最好是使用上面 key 的方式。至于这个 key 在哪里呢,我们可以定义一个 errormsg.properties 文件放在 src 目录下,里面都是key-value对,一般都是key 用英文,value用中文,实验国际化。并不是这样就完事儿了的,还要把这个properties文件部署到struts.xml才可以。具体部署如下:

1 <struts>
2     <!-- 下面这行是为了实现国际化 -->
3     <constant name="struts.custom.i18n.resources" value="errormsg"></constant>
5     <package name="default" extends="struts-default">

相关文章

  • Struts2 输入校验

    Struts2 输入校验 Struts2 的表单输入校验有多种方法。 重写 ActionSupport 类的 va...

  • JavaWeb编程实战宝典(9)___第9章 Struts2的输

    第9章 Struts2的输入校验 9.1 了解传统的数据校验方法 9.1.1 用JavaScript进行客户端校验...

  • 输入校验

    在Struts2中,可以对Action的所有方法进行校验或者对Action的指定方法进行校验。 对于输入校验Str...

  • struts2输入校验详解

    1. 代码形式实现输入校验 1.1. struts2执行流程 客户端向服务端发送HTTP请求 Struts2框架...

  • Struts2输入校验

    1. validate 输入校验方式 在Web系统项目中有大量的视图页面需要用户自行输入很多数据。这些数据的类型有...

  • struts2 输入校验

    输入校验 编程式校验(对action内所有方法进行校验)个人感觉应该就是类似装饰器的意思。。。这个方法必须实现实现...

  • Struts2数据校验

    Struts2的输入校验和类型转换都是对请求参数进行处理。输入校验顾名思义就是请求参数是否能够满足一定的要求; 客...

  • struts2实验4:struts2 校验器

    layout: post title: struts2实验4:struts2 校验器 categories: S...

  • 数据校验之XML文件校验

    全局校验 struts2提供的校验字段文件位置 具体的格式为

  • struts2自定义调用方法

    1. 自定义方法调用介绍 struts2在输入校验完之后,如果检测到Action以及Field级别中没有错误的话,...

网友评论

    本文标题:Struts2 输入校验

    本文链接:https://www.haomeiwen.com/subject/kddauxtx.html