SSH整合中,使用父action重构子类action类.(在父类中获取子类中的泛型对象)
生活随笔
收集整理的這篇文章主要介紹了
SSH整合中,使用父action重构子类action类.(在父类中获取子类中的泛型对象)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;/*** 文件名 : BaseAction.java* 提取SSH中的action類* 由于SSH的action中采用模型驅動的方法,使用泛型的方式*/
public class BaseAction<T> extends ActionSupport implements ModelDriven<T> {/** 實例化父類對象,提供model*/public BaseAction() {// 獲取子類中的泛型對象,當創建子類對象時候,會默認使用super()構造父類對象,而此時使用this關鍵字,指向的是子類的實例.Type genericSuperclass = this.getClass().getGenericSuperclass();ParameterizedType parameterizedType = (ParameterizedType) genericSuperclass;Class<T> clazz = (Class<T>) parameterizedType.getActualTypeArguments()[0];try {model = clazz.newInstance();} catch (InstantiationException | IllegalAccessException e) {// TODO Auto-generated catch block
e.printStackTrace();}}//采用模型驅動的方式protected T model;@Override/** (提取父類的抽象類的模型代碼)* * @see com.opensymphony.xwork2.ModelDriven#getModel()*/public T getModel() {return model;}/*** 后面就可以繼續提取子類action的共同的參數和方法了.*/
}
轉載于:https://www.cnblogs.com/wangxinblog/p/7351339.html
總結
以上是生活随笔為你收集整理的SSH整合中,使用父action重构子类action类.(在父类中获取子类中的泛型对象)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中信京东白条卡好申请吗?有哪些申请方式?
- 下一篇: 百(垃)度(圾)之星初赛B hdu611