public User{
private String userid;
private String password;
private Classes classes;//班级
//getter and setter
......
}public Classes {
private String classesid;
private String classesname;
private Major major;//专业
//getter and setter
......
}public TestAction extends ActionSupport{
private UserService us;
private User user;
public String execute() throws Exception{
us.inser(user);
}
}//jsp页面
<s:textfiled name="user.userid"/>
<s:textfiled name="user.password"/>
<s:textfiled name="user.classes.classesid"/>jsp页面提交后,如何能将classesid的值传给user对象中的classes属性呢,并且将classes完全初始化呢?
private String userid;
private String password;
private Classes classes;//班级
//getter and setter
......
}public Classes {
private String classesid;
private String classesname;
private Major major;//专业
//getter and setter
......
}public TestAction extends ActionSupport{
private UserService us;
private User user;
public String execute() throws Exception{
us.inser(user);
}
}//jsp页面
<s:textfiled name="user.userid"/>
<s:textfiled name="user.password"/>
<s:textfiled name="user.classes.classesid"/>jsp页面提交后,如何能将classesid的值传给user对象中的classes属性呢,并且将classes完全初始化呢?
把值赋给对像的相应属性就这样格式的命名就是正确的:name="xxx.xxx"
系统会自动进行相应的赋值。
但是不建议用这样的命名,我在使用的过程中经常出现问题,比如类型转换错误什么的不好控制
,不建议你这么用。
<s:textfiled name="user.classes.classesid"/> 这些填写的是classesid
<s:textfiled name="user.classes"/>这样定义能好用吗,我试验不好用呀!
是不是用了Hibernate呀?
public TestAction extends ActionSupport{
private UserService us;
private User user;
public void setUser(){...}
public UsergetUser(){...} public String execute() throws Exception{
us.inser(user);
}
}
至于下一种方式是行不同的,你不能直接给对象赋值,而只能给对象里面的属性赋值。
PS:这不是绝对的,可用覆盖类的toString方法,还有另一个解析的方法(忘了,所以不说了)。