羽川小鷹 2015-08-05 12:00 采纳率: 0%
浏览 1576
已结题

初学struts2,有个疑问

部分代码
public class ReadAction implements Action {
String name;
String sex;
String birth;
public String getName() {
System.out.println("getName");
return name;
}
public void setName(String name) {
System.out.println("setName");
this.name = name;
}
public String getSex() {
System.out.println("getSex");
return sex;
}
public void setSex(String sex) {
System.out.println("setSex");
this.sex = sex;
}
public String getBirth() {
System.out.println("getBirth");
return birth;
}
public void setBirth(String birth) {
System.out.println("setBirth");
this.birth = birth;
}
public String execute() throws Exception {
System.out.println(name+" "+sex+" "+birth);
return "readSuccess";
}

}
这个是之前把参数写在ReadAction类里,对setter和getter的调用情况如下
setBirth
setName
setSex
execute 123 123 123

然后看到有个vo传参模式,就写了个这个例子

User类:
public class User {
String username;
String password;
String sex;
public String getSex() {
System.out.println("getSex");
return sex;
}
public void setSex(String sex) {
System.out.println("setSex");
this.sex = sex;
}
public String getUsername() {
System.out.println("getUsername");
return username;
}
public void setUsername(String username) {
System.out.println("setUsername");
this.username = username;
}
public String getPassword() {
System.out.println("getPassword");
return password;
}
public void setPassword(String password) {
System.out.println("setPassword");
this.password = password;
}
public User(){
this.username="admin";
this.password="admin";
this.sex="man";
}
}
LoginAction类
public class LoginAction implements Action {
User user=new User();
public User getUser() {
System.out.println("getUser "+user.getUsername()+" "+user.getPassword()+" "+user.getSex());
return user;
}
public void setUser(User user) {
System.out.println("setUser "+user.getUsername()+" "+user.getPassword()+" "+user.getSex());
this.user = user;
}
@Override
public String execute() throws Exception {
System.out.println(user.getUsername()+" "+user.getPassword()+" "+user.getSex());
if(user.getUsername().equals("struts2")){
return "loginSuccess";
}else{
return "loginFailure";
}
}

}
相关setter和getter的调用情况如下
getUsername
getPassword
getSex
getUser admin admin man
setPassword
getUsername
getPassword
getSex
getUser admin 123 man
setSex
getUsername
getPassword
getSex
getUser admin 123 123
setUsername
getUsername
getPassword
getSex
123 123 123
getUsername
为什么第二个vo传参在每次setter前都要先调用getUser()呢?

  • 写回答

5条回答 默认 最新

  • qq_30388863 2015-08-05 12:06
    关注

    答题赚积分,真是抱歉 抱歉抱歉抱歉抱歉抱歉

    评论

报告相同问题?

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码