有两种方式,属性驱动和模型驱动,可以自选,如果属性较多,建议使用模型驱动
1.属性驱动
entity:
public class User {
private String name;
private String pwd;
private int age;
private String email;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public String toString() {
return "User [name=" + name + ", pwd=" + pwd + ", age=" + age
+ ", email=" + email + "]";
}
}
action:
public class UserAction {
private User user;
//注册
public String register(){
System.out.println(user);
return Action.SUCCESS;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
表单提交页面:
注意name,需要加上对象名字
<body>
<form action="register.action" method="post">
用户名<input type="text" name="user.name"/><br>
密码<input type="text" name="user.pwd"/><br>
年龄<input type="text" name="user.age"/><br>
email<input type="text" name="user.email"/><br>
<input type="submit" value="提交"/>
</form>
</body>
struts.xml
<package name="user" extends="struts-default">
<action name="register" class="cn.sxt.action.UserAction" method="register">
<result>/show.jsp</result>
</action>
显示页面
<body>
${user }
</body>
2.模型驱动
entity类就不写了
Action类
import cn.sxt.entity.User;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ModelDriven;
//模型驱动对象赋值是由ModelDrivern拦截器来实现的,先判断action属不属于ModelDruven接口,所以需要实现这个接口
public class UserModelAction implements ModelDriven<User>{
private User user=new User();
public String register(){
System.out.println(user);
return Action.SUCCESS;
}
@Override
public User getModel() {
return user;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
提交页面,name不用写对象名字了
<body>
<form action="regModel.action" method="post">
用户名<input type="text" name="name"/><br>
密码<input type="text" name="pwd"/><br>
年龄<input type="text" name="age"/><br>
email<input type="text" name="email"/><br>
<input type="submit" value="提交"/>
</form>
</body>
struts.xml
<action name="regModel" class="cn.sxt.action.UserModelAction" method="register">
<result>/show.jsp</result>
</action>