Struts模型驱动
来源:互联网 发布:皇帝岛 珊瑚岛 pp 知乎 编辑:程序博客网 时间:2024/05/22 06:14
Struts运行时候,会执行默认的拦截器栈,其中有一个拦截器,模型驱动拦截器:
<interceptor
name="modelDriven"class="com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor"/>
源代码:
@Override
public String intercept(ActionInvocationinvocation)throws Exception {
Object action = invocation.getAction();
if (actioninstanceof ModelDriven) {
ModelDriven modelDriven =(ModelDriven) action;
ValueStack stack =invocation.getStack();
Object model =modelDriven.getModel();
if (model != null) {
stack.push(model);
}
if (refreshModelBeforeResult) {
invocation.addPreResultListener(new RefreshModelBeforeResult(modelDriven,model));
}
}
return invocation.invoke();
}-------------------------------------------------------------------------------------------------------------
Struts中获取域中的值有以下几种方法:其中模型驱动最为简单方便
prams拦截器,可以把请求数据自动填充的action的属性中
举例1:
JSP
<input type=text name=userName />
<input type=text name=pwd />
Action
class UserAction{
// 封装请求数据
private String userName;
private String pwd;
//.. set方法
}
举例2:
JSP
<input type=text name=user.userName />
<input type=text name=user.pwd />
Action
class UserAction{
// 封装请求数据
private User user;
..
}
举例3:(模型驱动)
JSP
<input type=text name=userName />
<input type=text name=pwd />
Action
class UserAction{
// 封装请求数据
private User user;
..
}使用步骤:
1.实现ModelDriver接口
2.实现接口方法: 接口方法返回的就是要封装的对象
3.对象一定要实例化。
/**
* 1. 数据回显
* 2. 模型驱动
* @author Jie.Yuan
*
*/
publicclassUserAction extends ActionSupportimplements ModelDriven<User> {
//封装请求数据
private User user = new User();
publicvoid setUser(User user) {
this.user = user;
}
public User getUser() {
return user;
}
// 实现模型驱动接口方法
@Override
public User getModel() {
return user;
}
public String add() {
//测试:使用了模型驱动,是否数据正常?Ok
System.out.println(user);
return"success";
}- Struts模型驱动
- Struts模型驱动
- struts驱动模型方式
- Struts属性和模型驱动
- Struts标签实现模型驱动
- javaweb基础----struts驱动模型
- struts属性驱动与模型驱动
- struts模型驱动和属性驱动
- Struts 2 模型驱动动作教程
- struts 的模型驱动,接受表单值
- struts的modelDriver模型驱动运用
- struts 模型驱动的发射原理
- Struts属性驱动与模型驱动的区别
- struts模型驱动和属性驱动冲突的问题
- struts-基础内容-5-数据处理,数据回显,模型驱动
- Struts-setter、getter方法自动 ActionSupport类-属性驱动+模型驱动
- Struts中模型驱动与属性驱动共同使用可能会遇到的问题
- 驱动模型
- 谷歌浏览器黑屏问题
- 算法复杂度与稳定性
- 汉诺塔-递归
- python和php对比
- Elasticsearch单机Windows搭建
- Struts模型驱动
- bankForJS_inherit
- 基于python的汉诺塔
- 《Deep Learning》学习4——卷积神经网络理论碎片
- 使用avilib封装MJPEG数据应用实例
- MySql安装 | 终端新建用户 | IntelliJ IDEA 连接mysql数据库
- 记录自己第一份工作
- 自定义自变色的圆角边框
- 滴滴一、二面