通用表现层设计(基于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 }