抽象BaseAction对进行ModelDriven实现

来源:互联网 发布:知美医疗美容怎么样 编辑:程序博客网 时间:2024/06/06 10:46
package com.sinitek.product.action.base;import com.opensymphony.xwork2.ActionSupport;import com.opensymphony.xwork2.ModelDriven;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;/** * Created by user on 2017/4/17. */public class BaseAction<T> extends ActionSupport implements ModelDriven<T>{    protected T model;    /**     * 在构造方法中动态获得实现类型,通过反射创建模型对象     * 当其子类被创建时会调用这个实现方法,从而获得子类的对象类型     */    public BaseAction(){        ParameterizedType parameterizedType = (ParameterizedType) this.getClass().getGenericSuperclass();        Type[] clazz = parameterizedType.getActualTypeArguments();        Class<T> entityClass = (Class<T>) clazz[0];        try {            model = entityClass.newInstance();        } catch (InstantiationException e) {            e.printStackTrace();        } catch (IllegalAccessException e) {            e.printStackTrace();        }    }    @Override    public T getModel() {        return model;    }}

关于ModelDrive可以看另一篇文章:http://blog.csdn.net/qq_29631069/article/details/70210065

0 0
原创粉丝点击