通用表现层设计(基于ssh)

通用的表现层设计,基于ssh

代码

 1 public class BaseAction<T> extends ActionSupport implements ModelDriven<T>{
 2     //模型对象 
 3     private T model;
 4     public T getModel() {
 5         return model;
 6     }
 7     /**
 8      * 在构造方法中动态获得实现类型,通过反射创建模型对象
 9      */
10     public BaseAction() {
11         ParameterizedType genericSuperclass = (ParameterizedType) this.getClass().getGenericSuperclass();
12         Type[] actualTypeArguments = genericSuperclass.getActualTypeArguments();
13         //获得实体类型
14         Class<T> entityClass = (Class<T>) actualTypeArguments[0];
15         try {
16             //通过反射创建对象
17             model = entityClass.newInstance();
18         } catch (InstantiationException e) {
19             e.printStackTrace();
20         } catch (IllegalAccessException e) {
21             e.printStackTrace();
22         }
23     }
24 }

 

posted @ 2018-01-30 14:06  夕阳游子  阅读(126)  评论(0编辑  收藏  举报