ModelDriven存在的意义
当提交表单所对应的对象字段过多,对应的Action在取值的时候需要一个一个的取再组成对象,这就造成繁琐,并且对应Action页面会大量出现get,set等访问操作器。模型驱动就是在Action里把之前的单字段对象在转换成实体对象,page里面进行post到Action时,直接将表单input的name属性定义跟实体名称相同,从而达到前后端统一的思想,这样能减少前端操作。
相关代码如下:
public class UserAction extends ActionSupport implements ModelDriven<User>{
private User user = new User(); //注意这里定义的时候要初始化
public get set$.......
@Override
public User getModel(){ //继承ModelDriven(object) 接口 重写getModel()方法
return user;
}
public String add(){
System.out.println(user.name);
return SUCCESS;
}
}
<form action="<%=basePath%>user/user!list">
<p>
name:<input type="text" name="name">
</p>
<p>
<input type="submit" value="submit">
</p>
</form>