package com.jereh.action;import java.util.Map;import javax.servlet.http.HttpSession;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport{
public void validate() {
if(!(this.name!=null&&!"".equals(this.name))){
this.addFieldError(name, "用户名不能为空!");
}
if(!(this.pwd!=null&&!"".equals(this.pwd))){
this.addFieldError(pwd, "密码不能为空!");
}

} private String name;
private String pwd;
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}

public String login(){
if((this.getName().equals("sa"))&&(this.getPwd().equals("123"))){
Map<String ,Object> session=ActionContext.getContext().getSession();//解耦
session.put("curUser", this.name);
HttpSession session1=ServletActionContext.getRequest().getSession();//耦合
session1.setAttribute("curName", this.name);
return "success";
}else{
return "fail";
}

}

public String addUser(){
String str="恭喜"+this.getName()+"注册成功!";
this.setMessage(str);
return "reg";
}
}
------------------------------------------
上面那段代码,做校验时,public void validate() {} 这样可以校验,可是在validate后加上login 校验 login方法时 就不能校验了 ,debug了一下 直接不走public void validatelogin() {},怎么回事呢?