首页 > 代码库 > struts2的BaseAction<T>继承ActionSupport实现ModelDriven<T>

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;    }}

 

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