美文网首页
9.代码重构优化

9.代码重构优化

作者: 木有鱼丸啦 | 来源:发表于2018-02-09 10:55 被阅读0次

    //这个是分页查询的代码优化,每次都有相同的代码可以进行提取

    //这个简书格式排版太烂了吧。。。。。

    import java.lang.reflect.ParameterizedType;

    import java.lang.reflect.Type;import java.util.HashMap;import java.util.Map;

    import org.springframework.data.domain.Page;

    import com.opensymphony.xwork2.ActionContext;

    import com.opensymphony.xwork2.ActionSupport;

    import com.opensymphony.xwork2.ModelDriven;

    /** * 抽取 Action的公共代码 ,简化开发 * *  * */

    public abstract class BaseActionextends ActionSupport implementsModelDriven{

    // 模型驱动

    protected T model;

    @Override

    public T getModel() {

        return model;

    }

    // 构造器 完成model实例化

    public BaseAction() {

    // 构造子类Action对象 ,获取继承父类型的泛型

    // AreaAction extends BaseAction

    // BaseAction

    Type genericSuperclass = this.getClass().getGenericSuperclass();

    // 获取类型第一个泛型参数

    ParameterizedType parameterizedType = (ParameterizedType) genericSuperclass;

    ClassmodelClass = (Class) parameterizedType.getActualTypeArguments()[0];

    try {

         model = modelClass.newInstance();

    } catch (InstantiationException | IllegalAccessException e) {

        e.printStackTrace();System.out.println("模型构造失败...");

    }}

    // 接收分页查询参数

       protected int page;

        protected int rows;

      public void setPage(int page) {

        this.page = page;

    }

    public void setRows(int rows) {

      this.rows = rows;

    }

    // 将分页查询结果数据,压入值栈的方法

    protected void pushPageDataToValueStack(PagepageData) {

        Mapresult = new HashMap();

        result.put("total", pageData.getTotalElements());

        result.put("rows", pageData.getContent());

        ActionContext.getContext().getValueStack().push(result);

    }

    }

    相关文章

      网友评论

          本文标题:9.代码重构优化

          本文链接:https://www.haomeiwen.com/subject/qulxtftx.html