Strut2对ActionSupport的封装

来源:互联网 发布:中世纪盔甲 知乎 编辑:程序博客网 时间:2024/05/14 12:02

看到别人一些挺有建设性的方法就记录下来,ActionSupport之所以强大是因为他 实现了Action, Validateable, ValidationAware, TextProvider, LocaleProvider, Serializable

同样的我们可以通过继承他来获得更加强大的功能

 package com.wpx.bos.action;

import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;

import org.hibernate.criterion.DetachedCriteria;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.wpx.bos.util.PageBean;

import sun.swing.table.DefaultTableCellHeaderRenderer;

public class IBaseAction<T> extends ActionSupport implements ModelDriven<T>{

    private T model;

    private PageBean pageBean;
    public void setPage(int page){
        pageBean.setCurrentPage(page);
    }
    public void setRows(int rows){
        pageBean.setTotal(rows);
    }
    
    @Override
    public T getModel() {
        return model;
    }
    public IBaseAction() {
        ParameterizedType superClass=(ParameterizedType) this.getClass().getGenericSuperclass();
        Type[] actualTypeArguments=superClass.getActualTypeArguments();
        Class<T> entityClass=(Class<T>) actualTypeArguments[0];
        
        DetachedCriteria detachedCriteria=DetachedCriteria.forClass(entityClass);
        pageBean.setDetachedCriteria(detachedCriteria);
        
        try {
            entityClass.newInstance();
        } catch (InstantiationException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    
    }

    
    
    
    
}

首先说一下场景框架ssh,前端easyui会传过来两个参数rows和page 而pageBean中包含所有涉及分页的包括大小,当前页,查询后的数据及查询后的结果集等

同样也越发的觉得相比较与ssh框架ssm还是挺好用的

同样的今天碰到一个人问的一个题感觉在这个场景下有几分贴切就拿出来纪一下,就当是写个日记

先贴一下代码

package com.wpx.demo;
public class Test {
    public  Test(){
    
    }
    {
        age=50;
    }
    private int age=20;
    public static void main(String[] args) {
        System.out.println(new Test().age);
    }
}
一个涉及类的加载顺序的问题

首先jvm会从入口main处走起

然后类的无参构造

接着是代码块

最后是类的属性