Struts2的模型驱动、属性驱动的理解
来源:互联网 发布:mysql查找替换字符串 编辑:程序博客网 时间:2024/04/30 14:50
因为在struts1的版本中,属性的拦截以及控制的处理是被封装为两个对立的ActionForm、Action来获取HttpServerRequest的参数、控制访问的MAPPING的。而在Struts2中我们可以直接通过Action来获取请求参数,并把处理的资源映射返回给struts.xml指向对应的视图资源或者模型或者控制器进行下一步的处理。发现Action在Struts2中负责了struts1的ActionForm以及Action的双重任务,那么、我们如果习惯了struts1的开放方式的,在Struts中提供,模型驱动的方式来分解Action的任务,这种模式是通过专门的JavaBean来封装请求。
我们来比较一下:属性驱动和模型驱动的区别
属性驱动的例子:
public class InputAction extends ActionSupport {private static final long serialVersionUID = 7513077180980272234L;private String str;private int inte;private double dou;private char c;private boolean flag;private Date date;public String getStr() {return str;}public void setStr(String str) {this.str = str;}public int getInte() {return inte;}public void setInte(int inte) {this.inte = inte;}public double getDou() {return dou;}public void setDou(double dou) {this.dou = dou;}public char getC() {return c;}public void setC(char c) {this.c = c;}public boolean isFlag() {return flag;}public void setFlag(boolean flag) {this.flag = flag;}public Date getDate() {return date;}public void setDate(Date date) {this.date = date;}public String execute(){System.out.println(str);System.out.println(inte);System.out.println(dou);System.out.println(c);System.out.println(flag);System.out.println(date);return "succ";}}模型驱动例子:
public class ModelDriverAction {private Account acc;public Account getAcc() {return acc;}public void setAcc(Account acc) {this.acc = acc;}public String execute(){System.out.println(acc);return "succ";}}
其实,模型驱动必须实现ModelDriver接口,以及必须实现getMode()方法,该方法把Action和以及对应的Model实例关联。配置属性驱动和模型驱动的方式一样,在struts.xml文件中配置对应的Action即可,那他怎么实现的?
那么,我们要看到Struts2是一个拦截器为核心的框架,在struts_default.xml文件里面可以发现对应的拦截器的设置。
而我们在属性驱动模型下在JSP中访问属性时:
<s:property value="str">
而在模型驱动模型下在JSP中访问属性时:
<s:property value ="acc.no">
但是,Struts2会自动识别使用何种驱动模式,省略model.系统自动会关联到model.username的属性值。
- Struts2的模型驱动、属性驱动的理解
- Struts2的模型驱动、属性驱动的理解
- Struts2的模型驱动、属性驱动的理解
- Struts2的模型驱动与属性驱动的理解
- Struts2-属性驱动与模型驱动的理解
- Struts2的属性驱动与模型驱动
- Struts2的属性驱动和模型驱动
- Struts2的属性驱动和模型驱动
- Struts2的模型驱动和属性驱动
- struts2的属性模型和驱动模型
- Struts2的属性驱动与模型驱动的区别
- Struts2的属性驱动与模型驱动的区别
- Struts2的属性驱动与模型驱动的区别
- Struts2的属性驱动与模型驱动的区别
- Struts2的属性驱动与模型驱动的区别
- Struts2的属性驱动与模型驱动的区别
- Struts2的属性驱动与模型驱动的区别
- Struts2的属性驱动与模型驱动的区别
- 【叶子函数分享四十四】全角半角转换函数
- 爱或者不爱
- 先写个symbian的吧 symbian中的.pkg文件详解
- 需要写一写了
- 以前代码无法运行的一系列问题
- Struts2的模型驱动、属性驱动的理解
- 进步DSP代码运行性能的研究
- Irrational problem
- 一分钟先生: 程序员面试真经
- 设计模式-代理模式(Proxy Pattern)
- 4-Bit Computer
- Virtualbox虚拟CentOS5.1 :安装virtualbox增强工具,提示无权限
- Oracle10g中启动和关闭OEM
- 做生意的十大禁忌