硅谷海盗
2016-11-29 12:08
采纳率: 9.1%
浏览 1.0k
已采纳

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

    }

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

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • stuYxy 2016-11-29 13:19
    已采纳

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

      }

    }

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • stuYxy 2016-11-29 12:18

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

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题