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

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

      }

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来