weixin_42309744
2009-05-10 20:46
浏览 173
已采纳

struts2向action传递值,为什么只显示部分参数?菜鸟求正解

jsp页面如下
[code="java"]
/s:textfield
/s:textfield
/s:textfield
/s:submit
/s:form[/code]

action代码如下:
[code="java"]public class SaveUserAction extends ActionSupport{
private User user;

private UserService service;

public void setUser(User user) {
    this.user = user;
}

     public String execute() throws Exception {
    System.out.println(user.getFirstname()+"  "+user.getLastname()+"  "+user.getAge());
    service.save(user);
    return SUCCESS;
}

public void setService(UserService service) {
    this.service = service;
}

}[/code]

user.java如下

[code="java"]public class User {
private int id;
private String firstname;
private String lastname;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}

}[/code]

奇怪的是firstname与age总是无法得到前台的值 而lastname就能得到正常值

如果在前台输入 firstname=aaa,lastname=bbb,age=10

那么后台打印的结果是 null bbb 0

实在找不到什么原因

如果修改如下:

jsp:

[code="java"]/s:textfield
/s:textfield
/s:textfield
/s:submit
[/code]

action:

[code="java"]public class SaveUserAction extends ActionSupport{
private String firstname;
private String lastname;
private int age;
get,set……
[/code]

这样修改后就正常输出aaa bbb 10

这是为什么呢?初学struts2,先谢谢各位了

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

1条回答 默认 最新

  • zybzhen 2009-05-10 20:58
    已采纳

    貌似你的action中user没有get方法

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题