现在的位置: 首页 > 综合 > 正文

Struts2学习(四) validation验证

2018年02月07日 ⁄ 综合 ⁄ 共 2207字 ⁄ 字号 评论关闭

        要使用validation进行验证,就必须在Action类中继承ActionSupport类,只
有这样才能使用Struts 2 自带的validation验证机制。

        首先,定义一个Action 类名-validation.xml,记住不是下划线,是横线,放在和Action 类相同的
包下。我们做一个登录类的名字是Login,那验证文件名可以为:Login-validation.xml。如果有两个Action方法,

一定要这样定义验证文件名:Action 类名-Action方法名-validation.xml。

 

Login.jsp文件的内容如下

<%@ page contentType="text/html; charset=GBK"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page isELIgnored="false"%>
<html>

<style>
.errorMessage {color:red;font-weight:bold}
</style>
  <head>  
   
    <title>
     登录
    </title> 

  </head>
 
  <body>
  <s:i18n name="example.properties">
    <s:form>
     <s:textfield  key="username"/>
  <s:password key="password" /> 
  <s:submit value="登录"/>
    </s:form>
    </s:i18n>
   
  </body>
</html>

Login.java文件的内容如下:

 

/**
 * 2008-11-20
 *  
 */
package example;

import com.opensymphony.xwork2.ActionSupport;

 
public class Login extends ActionSupport {

    private String  username, password;

    public String execute() throws Exception {

 if (this.isInvalid(this.getUsername()))
     return INPUT;
 if (this.isInvalid(this.getPassword()))
     return INPUT;

 System.out.println("用户名称:" + getUsername() + ",用户密码" + getPassword());
 setMessage("登录成功");
 return SUCCESS;

    }

    private boolean isInvalid(String value) {
 return (value == null || value.length() == 0);
    }

       public String getUsername() {
 return username;
    }

    public void setUsername(String username) {
 this.username = username;
    }

    public String getPassword() {
 return password;
    }

    public void setPassword(String password) {
 this.password = password;
    }

}

Login-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="username">
  <field-validator type="requiredstring">
   <message>对不起,用户名称不能为空!</message>
  </field-validator>

 </field>

 <field name="password">
  <field-validator type="requiredstring">
   <message>对不起,用户密码不能为空!</message>
  </field-validator>
  <field-validator type="stringlength">
   <param name="minLength">6</param>
   <param name="maxLength">10</param>
   <message>
    密码长度不能小于 ${minLength} 位,不能超过 ${maxLength} 位!
   </message>
  </field-validator>
 </field>
</validators>

 

Struts 2 已经内置了一些默认的验证器, 它们定义在类库文件WEB-INF/lib/xwork-2.0.6.jar 文件的包
com.opensymphony.xwork2.validator.validators 下面, 配置这些别名的文件名为default.xml

 

 

 

抱歉!评论已关闭.