硅谷海盗 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条)

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)