Struts2慢慢学之五(接上)----参数传递方法三
2012-05-04 16:32
190 查看
上篇说明了下Struts2参数传递的两种方法,其中第二种方法被称为:DomainModel,域模型。即新建一个类,用于存放属性。
下面说明另外一种方法,被称为:ModelDriven,模型驱动。
它与第二种方法非常类似,其他都是一样的,仅仅就是Action和访问有区别,它的Action如下:
我们可以从中看到,它实现了ModelDriven接口,并采用了泛型技术。采用这种方式Struts2不会自动的实例化一个对象,因此只能我们手动生成。它覆写了ModelDriven接口的getModel()方法,它的作用就是返回一个类对象。
它的访问是和第二种有区别的(与第一种方法一样):
它并没有采用user.name的方式,这也是为什么必须要new一个对象的原因。
这种方式的基本思想过程为:首先Action解析url,获得其中的参数,然后进入Action中,发现此Action实现了一个ModelDriven接口,此时就调用ModelDriven接口的getModel方法,获得类的对象,然后调用此类的set和get方法,将参数传入。
此种方式体现了Struts2的MVC思想,M----Model,V----View,C----Controller,但是这种方式很少使用,我们使用最多的还是上篇的第二种方式。
下面说明另外一种方法,被称为:ModelDriven,模型驱动。
它与第二种方法非常类似,其他都是一样的,仅仅就是Action和访问有区别,它的Action如下:
package com.bjsxt.struts2.user.action; import com.bjsxt.struts2.user.model.User; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; public class UserAction extends ActionSupport implements ModelDriven<User>{ private User user = new User(); public String add() { System.out.println("name=" + user.getName()); System.out.println("age=" + user.getAge()); return SUCCESS; } @Override public User getModel() { return user; } }
我们可以从中看到,它实现了ModelDriven接口,并采用了泛型技术。采用这种方式Struts2不会自动的实例化一个对象,因此只能我们手动生成。它覆写了ModelDriven接口的getModel()方法,它的作用就是返回一个类对象。
它的访问是和第二种有区别的(与第一种方法一样):
使用ModelDriven接收参数<a href="user/user!add?name=a&age=8">添加用户</a>
它并没有采用user.name的方式,这也是为什么必须要new一个对象的原因。
这种方式的基本思想过程为:首先Action解析url,获得其中的参数,然后进入Action中,发现此Action实现了一个ModelDriven接口,此时就调用ModelDriven接口的getModel方法,获得类的对象,然后调用此类的set和get方法,将参数传入。
此种方式体现了Struts2的MVC思想,M----Model,V----View,C----Controller,但是这种方式很少使用,我们使用最多的还是上篇的第二种方式。
相关文章推荐
- Struts2(接上)----参数传递方法二
- 使用echarts类库,在后台封装option,提供两种使用struts2传递参数到页面的方法
- Struts2慢慢学之五----参数传递
- struts2中的Action接收表单传递过来的参数有3种方法
- Struts2传递参数的3种方法
- struts2配置的ajax参数传递方法
- struts2的Action从页面获取传递的参数的三种方法
- struts2中注解redirect时传递参数中文乱码问题解决方法
- struts2中的Action接收表单传递过来参数的3种方法
- struts2中的Action接收表单传递过来的参数有3种方法
- Struts2 传递参数的方法
- 使用<a>标签调用struts2的action、传递动态参数、以及参数中出现加号等特殊字符的处理方法
- struts2中的Action接收表单传递过来的参数有3种方法
- Struts2动态方法调用和 如何传递参数(参考博客)
- Asp.net页面之间传递参数的几种方法
- 前台给后台传递参数时,乱码解决方法
- 今天老师讲了jsp中四种传递参数的方法,我觉得总结一下,挺好的,以备后用!
- JQuery 绑定事件时传递参数的实现方法
- 页面之间传递参数,JS取得参数的工具方法
- 在Simulink中对S 函数进行参数传递的三种方法