属性驱动
直接在action中声明一些属性,然后生成get/set方法的方式,称为属性驱动,
如:在loginAction类中写上
使用属性驱动封装对象action 代码
public class UserAction extends ActionSupport{
UserService us=new UserService();
privateArrayList<User> al;
privateString msg;
privateUser user;
publicString add(){
us.add(user);
return "addsuccess";
}
publicString list(){
al=us.list();
System.out.println(msg);
return"success";
}//省略get/set方法(包括user对象的)
}
Jsp代码
<form action="adduser" method="post">
用户名:<input type="text" name="user.uname"/><br/>
密码:<input type="text" name="user.psw"/><br/>
手机号:<input type="text" name="user.phone"/><br/>
<input type="submit" value="新增"/><br/>
</form>
模型驱动
先写一个普通的action类,然后实现一个ModelDriven接口,在这个接口中直接把你的User让入泛型中,在生成一个getModel方法,这个方法就会返回一个有值的user对象,这个值是在表单调校后,表单的数据被封装在User对象中,由模型驱动把这个对象通过getModel方法带入我们的action类中,我们就可以再我们的逻辑方法中,直接使用该对象的值。
Action
public class UserAction extendsActionSupport implements ModelDriven<User>{
private User user = new User();
public String login(){
return null;
}
@Override
public UserBean getModel() {
return user;
}
}
Jsp代码
<form action="loginuser.action" method="post">
用户名:<input type="text" name="uname"/><br>
密 码:<input type="password" name="psw"/><br>
<input type="submit" value="登陆"/><br>
</form>