struts2的BaseAction<T>继承ActionSupport实现ModelDriven<T>

public class BaseAction<T> extends ActionSupport implements ModelDriven<T> {

    private static final long                serialVersionUID    = 1L;
    protected T                                model;
    //页面表单映射到model相当于struts1的formbean

    //将所有的service写入到BaseAction中
    @Resource protected RoleService            roleService;
    @Resource protected DepartmentService    departmentService;
    @Resource protected UserService            userService;
    @Resource protected PrivilegeService    privilegeService;

    // 页码默认为第1页
    protected int                            pageNum                = 1;

    @SuppressWarnings({ "rawtypes", "unchecked" })
    public BaseAction() {
        try {
            // 得到model的类型信息
            ParameterizedType type = (ParameterizedType) this.getClass().getGenericSuperclass();
            Class clazz = (Class) type.getActualTypeArguments()[0];
            // 通过反射生成model的实例
            model = (T) clazz.newInstance();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }

    }

    public T getModel() {
        return model;
    }
}
时间: 2024-10-14 01:16:56

struts2的BaseAction<T>继承ActionSupport实现ModelDriven<T>的相关文章

【struts2】继承ActionSupport类

在Struts2中,Action可以不实现任何特殊的接口或者继承特殊的类,仅仅是一个POJO(Plain Old Java Object,简单的Java对象)就可以:也可以实现Xwork2中的Action接口:但是由于Xwork的Action接口非常简单,为程序员提供的帮助有限,因此,在实际开发中,会更多的使用继承ActionSupport类来实现Action的方式,如下所示: import com.opensymphony.xwork2.ActionSupport; public class

为什么要继承ActionSupport?

struts2中的action可以继承ActionSupport,也可以不继承ActionSupport.不继承ActionSupport的情况只需要有一个方法,返回String,即可,记住,在继承ActionSupport的情况下,必须有无参构造函数.继承ActionSupport的好处在于:1.能够使用struts预设的返回字符串,如SUCCESS,INPUT等等.2.重写方法,更方便的实现验证.国际化等等功能.3.与struts的功能结合紧密,方便开发.

Action类一般情况为何要继承ActionSupport

struts2中的action可以继承ActionSupport,也可以不继承ActionSupport.不继承ActionSupport的情况只需要有一个方法,返回String,即可,记住,在继承ActionSupport的情况下,必须有无参构造函数.继承ActionSupport的好处在于:1.能够使用struts预设的返回字符串,如SUCCESS,INPUT等等.2.重写方法,更方便的实现验证.国际化等等功能.3.与struts的功能结合紧密,方便开发. Action接口有: public

Action类为何要继承ActionSupport

Action类为何要继承ActionSupport 理论上Struts 2.0的Action无须实现任何接口或继承任何类型,但是,我们为了方便实现Action,大多数情况下都会继承com.opensymphony.xwork2.ActionSupport类,并重载(Override)此类里的String execute()方法.当然我们也可以在写action的时候实现Action接口. Action接口有: public static final java.lang.String SUCCESS

action继承actionSupport

action继承actionSupport为了方便实现Action,大多数情况下都会继承com.opensymphony.xwork2.ActionSupport类, 并重载(Override)此类里的String execute()方法,因为ActionSupport已经实现了Action接口, 还实现了Validateable接口,提供了数据校验功能.通过继承该ActionSupport类,可以简化Struts 2的Action开发.  Action 跟 Actionsupport 的区别:

Struts2学习第七课 ActionSupport

com.opensymphony.xwork2.ActionSupport类是默认的Action类,如果某个Action节点没有配置class属性,则ActionSupport即为待执行的Action类,而execute方法即为要默认执行的方法. <action name="testActionSupport"> <result>/testActionSupport.jsp</result> </action> 等同于 <actio

struts 中继承ActionSupport类

理论上Struts 2.0的Action无须实现任何接口或继承任何类型,但是,我们为了方便实现Action,大多数情况下都会继承 com.opensymphony.xwork2.ActionSupport类,并重载(Override)此类里的String execute()方法. 由JavaDoc可知,ActionSupport类实现了接口. com.opensymphony.xwork2.Action. com.opensymphony.xwork2.LoaleProvider. com.op

Maven 建 Struts2 基本实现 CURD Controller

开发环境 开发工具:Eclipse 数据库:MySQL server:Tomcat Struts2 请求原理流程图 构建一个 web maven project,在pom.xml引入struts2的jar包 <!-- struts2 --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <versio

调查管理系统 -(5)Struts2配置&amp;用户注册/登录/校验

1.设计BaseAction 由于几乎每个Action都要继承ActionSupport类并且实现ModelDriven接口,因此最好设计一个BaseAction类,让其继承ActionSupport并实现ModelDriven接口,便于其它Action的复用.当然,设计BaseAction的作用不仅在于此,其还将会有很多的用处,拭目以待吧. 具体实现如下: 1 package com.atguigu.surveypark.struts2.action; 2 import com.opensym