Struts2 验证框架


当前第2页 返回上一页

现在不输入任何信息,只点击Submit按钮,将看到以下结果:

输入所要求的信息而非错误类的字段,如名称为“text”,年龄为30,然后点击Submit按钮,可以看到以下界面:

这个验证是如何进行的?

当用户按下提交按钮时,Struts2 将自动执行validate方法,如果方法中列出的任何if语句为真,Struts2 将调用addFieldError方法。如果添加了任何错误信息,Struts2 将不会调用execute方法。否则,Struts2 框架将返回input作为调用操作的结果。
因此,当验证失败并且Struts2 返回input时,Struts2 框架将重新显示index.jsp文件。由于我们使用Struts2 的form标签,Struts2 会自动在form字段上方添加错误信息。
这些错误信息是我们在addFieldError方法调用中指定的信息。addFieldError方法接受两个参数,第一个是出错时应用的form字段名称,第二个是在form字段上方显示的错误信息。

addFieldError("name","The name is required");

要处理input的返回值,我们需要将以下结果添加到struts.xml中的action节点。

<result name="input">/index.jsp</result>

XML验证

第二种进行验证的方法是在action类旁边放置一个xml文件。Struts2 基于XML的验证提供了更多的验证方式,如email验证、integer range验证、form验证、expression验证、regex验证、required验证、requiredstring验证、stringlength验证等。
xml文件需要命名为'[action-class]'-validation.xml。因此,在我们的示例中,创建了一个名为Employee-validation.xml的文件,其含以下内容:

<!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="name">
      <field-validator type="required">
         <message>
            The name is required.
         </message>
      </field-validator>
   </field>

   <field name="age">
     <field-validator type="int">
         <param name="min">29</param>
         <param name="max">64</param>
         <message>
            Age must be in between 28 and 65
         </message>
      </field-validator>
   </field>
</validators>

上面的XML文件将保存在CLASSPATH中,理想情况下是与类文件一起保存。以下是没有validate()方法的Employee action类:

package cn.Vue5教程.struts2;

import com.opensymphony.xwork2.ActionSupport;

public class Employee extends ActionSupport{
   private String name;
   private int age;
   
   public String execute() 
   {
       return SUCCESS;
   }
   public String getName() {
       return name;
   }
   public void setName(String name) {
       this.name = name;
   }
   public int getAge() {
       return age;
   }
   public void setAge(int age) {
       this.age = age;
   }
}

其余的设置将保持,如同前面的例子一样。现在如果你运行应用程序,它将产生与我们前面例子相同的结果。

使用xml文件来存储配置的优点是允许验证与应用程序代码分离。你可以让开发人员编写代码,让测试人员来创建xml验证文件。另一个需要注意的是默认情况下可用的验证器。Struts有许多默认的验证器,常见的包括:Date验证器,Regex验证器和String Length验证器。点击以下链接可以了解更多“Struts2-XML验证器”的详细信息。


标签:Struts2

返回前面的内容

相关阅读 >>

Struts2 数据标签

Struts2 配置文件

Struts2 验证框架

Struts2 数据库访问

Struts2 hello world示例

Struts2 hibernate集成

Struts2 ajax标签

Struts2 注释

Struts2 表单标签

Struts2 环境设置

更多相关阅读请进入《Struts2》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...