Field-Driven与ModelDriver
来源:互联网 发布:搜狗输入法下载centos 编辑:程序博客网 时间:2024/06/09 18:48
struts2中的Action根据其属性的不同可以分为两类:Filed-Driven Action(属性驱动)和Model-Driven Action(模型驱动).
<1>Field-Driven(属性驱动)Action,Action拥有自己的属性,这些属性一般是Java的基本类型。表单字段直接和Action的属性对应.
<2>Model-Driven Action(模型驱动),在struts2中,提供了一种直接使用领域对象的方式,就是让action实现com.opensymphony.xwork2.ModelDriven接口,ModelDriven让你可以直接操作应用程序中的领域对象,允许你在web层和业务层使用相同的对象.
ModelDriven接口只有一个方法 public Object getModel() { return null; } 该方法返回一个用于接收用户输入数据的对象模型,在这个模型对象中的属性可以直接通过(属性名)来访问,而不需要使用(对象名.属性名)这种格式来访问了,在action里也不需要对对象提供getter和setter方法了,但是必须要在action中进行new操作.
Filed-Driven Action和Model-Driven Action的区别:
(1)模型驱动的Action必须实现ModelDriven接口,而且要提供相应的泛型
(2)实现ModelDriven的getModel方法,其实就是简单的返回泛型的一个对象
(3)在Action提供一个泛型的私有对象,就是定义一个对象,并提供相应的getter与setter。
到底是用属性驱动和是模型驱动呢?
(1)请统一整个系统中的Action使用的驱动模型,即要么都是用属性驱动,要么都是用模型驱动。
(2)如果你的DB中的持久层的对象与表单中的属性都是一一对应的话,建议使用模型驱动,这样看起来代码会整洁.
(3)如果表单的属性不是一一对应的话,那么就应该使用属性驱动,否则,系统就必须提供两个Bean,一个对应表单提交的数据,另一个用与持久层。
- Field-Driven与ModelDriver
- ModelDriver
- Struts Model-Driver and Field-Driven
- 圆形矢量场field driven strength效果
- ModelDriver传值
- AN APPROACH OF VECTOR FIELD TEXTURE VISUALIZATION BASED ON FIELD DRIVEN STRENGTH算法实现
- lumped port&wave port/ driven modal 与driven terminal
- ibatis 中$field$与#field#的区别
- “Field”与反射知识
- 笔记: Field 与 Method
- 使用domainmodel和modeldriver
- JMS与Message-Driven Bean使用总结
- JMS与Message-Driven Bean使用总结
- ajax请求springmvc与mvc:annotation-driven
- <mvc:annotation-driven />与<context:annotation-config />
- mvc:annotation-driven与annotation-config区别
- @ModelAttribute 相当于struts2的ModelDriver<>
- 实现ModelDriver接口的功能
- maven加载jar时失败的解决办法
- Oracle_spatial的空间操作符介绍
- 解决idea 控制台中文乱码
- 实体类为什么要序列化
- spring batch job 详细配置以及多个job时如何根据参数执行指定job
- Field-Driven与ModelDriver
- 使用JNIEnv全局变量调用FindClass()等函数发生crash
- c+中字符串的相关概念
- 好用的上传下载插件。
- 实现基于迭代器的链表(泛型)
- 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)
- docker初学一
- Dispatcher initialization failed Unable to load configuration
- Android Studio 2.4 Preview(译文)