struts2中的execute()方法中的好玩问题,不知道为什么,求解答。

用的ssh框架完全没有问题,主要问题是execute()方法中if语句问题。直接上代码奔主题去啦。

 package cn.web.action;

import com.opensymphony.xwork2.ActionSupport;

import cn.web.daoimp.UserDaoImp;
import cn.web.service.Users;

public class UserAction extends ActionSupport {
  private  String username;
  private  String password;
  public boolean isa;

  public boolean isa(){
      isa="a".equals(username);
      return isa;
  }


  public boolean isIsa() {
    return isa;
}

public void setIsa(boolean isa) {
    this.isa = isa;
}

public UserAction(){}

  public UserAction(String username,String password){

      this.username=username;
      this.password=password;
  }



  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;
    }


    public String execute() {

        if (("a".equals(username))){
             return "success";
            }
           else {
               return "error";
           }

    }

这是action的主要代码,就是想实现登陆功能什么的。但是上面代码的execute()方法中的if判断语句有问题。直接提取出来。

 public String execute() {

        if (("a".equals(username))){
             return "success";
            }
           else {
               return "error";
           }

    }

无论我在前端输入a还是其他的都会返回“error”。但是当我把if()语句改成这样

 public boolean isa;

  public boolean isa(){
      isa="a".equals(username);
      return isa;
  }
 public String execute() {

        if (isa()){
             return "success";
            }
           else {
               return "error";
           }

    }

改写之后我就能得到正确的我想要的结果。我不明白这是为什么,求大神指点。

package Action;

import com.opensymphony.xwork2.ActionSupport;

/**

  • Created by Administrator on 2016/11/29.
    */
    public class netTestAction extends ActionSupport{
    private String username;
    private String password;

    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;
    }

    @Override
    public String execute() throws Exception {

    System.out.println(username + "::::" +password);
    if (("a".equals(username))){
        return "success";
    }
    else {
        return "error";
    }
    

    }

}

写个sout看一眼那个username 是啥嘛,万一不是“a”是别的什么呢