`

抽象BaseAction对进行ModelDriven实现

 
阅读更多

利用Java反射技术对ModelDriven实现抽象BaseAction,其代码如下:

 

 

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

	@Resource
	protected RoleService roleService;
	@Resource
	protected DepartmentService departmentService;
	@Resource
	protected UserService userService;
	@Resource
	protected PrivilegeService privilegeService;

	protected T model;

	public BaseAction() {
		try {
			// 得到model的类型信息
			ParameterizedType pt = (ParameterizedType) this.getClass().getGenericSuperclass();
			Class clazz = (Class) pt.getActualTypeArguments()[0];

			// 通过反射生成model的实例
			model = (T) clazz.newInstance();
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
	}

	public T getModel() {
		return model;
	}
}

 

分享到:
评论

相关推荐

    BaseAction

    BaseAction.java

    BaseAction的小测试代码

    有关BaseAction,DispatchAction,XXXAction的一个小测试工程,希望对刚接触BaseAction的人有用

    抽取的BaseAction通用工具类

    很好用的工具类,希望帮助到大家

    utils类及baseAction

    utils类及baseAction 非常详细哦

    使用模型驱动方便从表单获取用户输入的值

    实现ModelDriven的借口必须实现它的getModel抽象方法!! 第二步: 在jsp页面中的表单元素中只需定义与pojo类SupplierSort相同的属性名称的表单元素即可,然后提交到对应的Action时就可以直接把名称相对应的表单...

    基于JAVA SMART系统-系统框架设计与开发(源代码+论文).zip

    因此,在对本系统进行架构设计的时候,考虑建立一个抽象的BaseAction类,该类继承LookupDispatchAction,实现LookupDispatchAction类中的getKeyMethodMap方法,在方法中返回本系统中请求参数值与资源文件中参数值的...

    BaseAction.rar_Java编程_Java_

    action的超类 其他类的继承它,里面有详细说明

    一套适合初学者的JAVA-WEB开发的小项目

    在web层和dao层都提取了公共代码封装到BaseAction和BaseDao中,提高了代码的复用性,同时遵循OO设计原则,接口是针对编程的,而不是针对实现编程的。 使用拦截器的方法对系统权限进行初步控制(后续可以采用Shiro...

    初学JAVA-WEB开发的小项目

    在web层和dao层都提取了公共代码封装到BaseAction和BaseDao中,提高了代码的复用,同时按照OO设计原则,针对接口编程,而不是针对实现编程。 使用拦截器的方法对系统权限进行初步控制(后续可以采用Shiro框架进行...

    java javascript

    Service继承了baseSevice,baseSevice已经声明了一些基本方法,需要自己定制的方法在service中声明,然后在...BaseService需要一个Dao对实体进行操作,如果要使用BaseAction中的方法,需要把Dao注入到BaseService中。

    AppVersionFramework:AppVersionFramework-应用版本管理

    在移动应用开发中,一定会面临APP版本升级带来的后端的实现代码版本的变化,但很多时候只是部分接口方法变更,而不是所有,因此需要一个架构统一对后端的实现 代码进行版本管理。本方案即尝试解决这个问题。目前已...

    PHP 登录完成后如何跳转上一访问页面

    具体实现 我现在的程序是基于ThinkPHP框架的,我们会有一个父类控制器,下面我就把这个设置cookie的代码加到这个BaseAction里面的_initialize()函数中,这样程序就大大简化工作量了。 复制代码 代码如下:$refer = ...

    java命名规范 开发规范

    b. 开发WebService接口实现类,@WebService注解该实现类,并制定endpointInterface; c. 配置applicationContext-ws.xml d. 测试 备注: 开发一个需要对第三方应用发布的RESTful Service 步骤: a. 开发RS接口...

    教务管理系统(概要设计及详细设计).doc

    中间业务层是通过Spring框架实现的,首先建立一个 BaseAction,它继承了Action类,而其他定义的Action都要继承这个BaseAction。这个B aseAction需要导入AppContext工具类,这个AppContext需要导入Spring中 ;这样一个...

    路由:提供将路由段绑定到特定Extbase Action端点的功能

    TYPO3扩展routes 此扩展使您可以将URL终结点与某些Extbase Action绑定。 简而言之,您可以为TYPO3项目创建一个API。 特征: ... 开箱即用。 您的路线的其他中间件。... 用于一般信息的简单模块。...

    ssh:struts-2.5+spring4+hibernate5

    简单的ssh项目,泛型BaseAction配置,简单注解配置,applicationContext.xml配置,jar包地址 链接:https://pan.baidu.com/s/14NkywuhG6mESyhE1VMkhOQ 密码:en19

    maven整合ssh案例

    ************************************************************************************* ...运行成功后输入 http://localhost:8080/MySSH1.0/baseAction!tologin.action 如果数据库中插入数据表明整合成功!

    EasyUI框架 使用Ajax提交注册信息的实现代码

    public class StudentAction extends BaseAction&lt;Student&gt; { private static final long serialVersionUID = -2612140283476148779L; private Logger logger = Logger.getLogger(StudentAction.class); private ...

    thinkphp3.2.2前后台公用类架构问题分析

    本文实例分析了...感兴趣的朋友可以对其进行加强改进! thinkphp3.2.2的这么创建Application/Common/Controller/BaseController.class.php 复制代码 代码如下:&lt;?php namespace Common\Controller; use Think\

Global site tag (gtag.js) - Google Analytics