用的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";
}
}
改写之后我就能得到正确的我想要的结果。我不明白这是为什么,求大神指点。