一、为什么要进行验证?
验证几乎是注册登录的必须前提,验证的主要作用有两点:
1、安全性
2、对用户提供差异化服务。
二、如何验证?
ActionSupport类中有一个validate()方法,这是为开发者使用struts提供的一个接口,初始时是没有任何验证的。所以要使用此方法首先要进行重写该方法。
举注册为例,调用顺序为setUsername()方法--》validate()方法--->register()方法。所以一旦验证不过那么将无法执行后续方法,即后面的功能将被隔离!
三、实例:
UserAction.java
package com.amos.web.action; import com.opensymphony.xwork2.ActionSupport; /** * @ClassName: UserAction * @Description: 用户管理,将相关的action封装到一个类中 * @author: amosli * @email:amosli@infomorrow.com * @date Jan 8, 2014 1:06:00 AM */ public class UserAction extends ActionSupport { private static final long serialVersionUID = -6275534406709255984L; private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { System.out.println("执行setUserName()方法!"); if (username != null & username.trim().length() > 0) { this.username = username; } } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } // 检验方法 public void validate() { System.out.println("执行validate()方法!"); if (username != null && username.trim().length() > 0) { }else{ this.addFieldError("username", "用户名为必填!"); } if (password != null && password.trim().length() > 0) { }else{ this.addFieldError("password", "密码为必填!"); } } // 用户注册 public String register() throws Exception { System.out.println("执行注册方法!"); return "toRegisterJsp"; } // 用户登录 public String login() throws Exception { System.out.println("执行登录方法!"); return "toLoginJsp"; } }