标签:
public class User3Action extends ActionSupport implements ModelDriven<User> { private User user = new User(); public User getModel() { return user; } @Override public String execute() throws Exception { System.out.println(user); return NONE; } }
<form action="${pageContext.request.contextPath}/user3.action" method="post"> 用户名 <input type="text" name="username" /> <br /> 密码 <input type="password" name="password" /> <br /> <input type="submit" value="提交" /> </form>
页面:
用户名:<input type="text" name="username"><br/>
Action:
public class ParamAction3 extends ActionSupport implements ModelDriven<User>{
private User user = new User();
public User getModel() {
return user;
}
}
***** 实现ModelDriven<T> 必须手动构建封装对象.
* 模型驱动使用中最为广泛.Struts2中提供了一个单独的拦截器完成模型驱动的封装,而且Struts2中某些结构围绕模型驱动设计.
比较第二种和第三种方式:
* 第三种使用的比较多.第二种比较灵活的.第三种模型驱动的方式只能封装到一个实体对象.第二种方式封装到不同的实体中.
* 第三种方式提供的拦截器:
<interceptor name="modelDriven" class="com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor"/>
* 第二种封装到不同的实体:
<input type=”text” name=”user.username”>
<input type=”text” name=”product.price”>
标签:
原文地址:http://www.cnblogs.com/jiemoxiaodi/p/5668396.html