BaseAction 类
public class BaseAction<T> extends ActionSupport implements ModelDriven<T>{
// 1. 封装数据
private T t;
public T getModel(){
return t;
}
// 1.1 实例化 t
public BaseAction(){
try{
// 得到当前运行类的 Class
Class c = this.getClass();
ParameterizedType ptype = (ParameterizedType)c.getGenericSuperclass();
Type[] types = ptype.getActualTypeArguments();
Class<T> clazz = (Class<T>)types[0];
t = clazz.newInstance();
} catch(Exception e){
throw new RuntimeException(e);
}
}
// 2. Spring 注入 service, 多个
// 提供 set 方法, 让 spring 进行注入的;
// 提供 get 方法, 让子类可以获得 spring 注入的对象
private CustomerService customerService;
public void setCustomerService(CustomerService customerService){
this.customerService = customerService;
}
public CustomerService getCustomerService(){
return customerService;
}
// 3. 分页数据
private Integer pageCode = 1; // 第几页
public void setPageCode(Integer pageCode){
if(pageCode == null){
pageCode = 1;
}
this.pageCode = pageCode;
}
public Integer getPageCode(){
return pageCode;
}
private Integer pageSize = 2; // 每页显示数据的条数
public void setPageSize(Integer pageSize){
this.pageSize = pageSize;
}
public Integer getPageSize(){
return pageSize;
}
// 4. 简化值栈操作
public void push(Object obj){
ActionContext.getContext().getValueStack().push(obj);
}
public void set(String key, Object obj){
ActionContext.getContext().getValueStack().set(key,obj);
}
public void put(String key, Object obj){
ActionContext.getContext().put(key,obj);
}
public void putSession(String key, Object obj){
ActionContext.getContext().getSession().put(key,value);
}
public void putApplication(String key, Object obj){
ActionContext.getContext().getApplication().put(key,value);
}
}
BaseAction 类的更多相关文章
- zTree实现地市县三级级联Action类
zTree实现地市县三级级联Action类 ProvinceAction.java: /** * @Title:ProvinceAction.java * @Package:com.gwtjs.str ...
- Java类的继承与多态特性-入门笔记
相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...
- strust2中使用session
在Struts2里,如果需要在Action中使用session,可以通过下面两种方式得到1.通过ActionContext class中的方法getSession得到2.Action实现org.apa ...
- SSH:Struts2.2+Hibernate3.6+Spring3.1分页示例[转]
参考资料 1 ssh分页(多个例子) http://useryouyou.iteye.com/blog/593954 2 ssh2分页例子 http://459104018-qq-com.iteye. ...
- struts2: config-browser-plugin 与 convention-plugin 学习
struts2被很多新手诟病的一个地方在于“配置过于复杂”,相信不少初学者因为这个直接改投Spring-MVC了.convention-plugin. config-browser-plugin这二个 ...
- 国家电力项目SSH搭建
SSH项目框架搭建总结: 1.建立Web工程 * 导入需要的jar的包 db:连接数据库的驱动包 hibernate:使用hibernate的jar包 jstl:java的标准标签库 junit:测试 ...
- 在某公司时的java开发环境配置文档
1 开发环境配置 1.1. MyEclipse 配置 1.MyEclipse下载地址:\\server\共享文件\backup\MyEclipse9.0 2.修改工作空间编码为UTF-8,如下图 3 ...
- struts2动态方法
动态方法调用 在Struts2中动态方法调用有三种方式,动态方法调用就是为了解决一个Action对应多个请求的处理,以免Action太多 第一种方式:指定method属性 这种方式我们前面已经用到过, ...
- SSH电力项目
第一步:创建测试表Elec_Text: create table Elec_Text(textID varchar(50) not null primary key,textName varchar( ...
随机推荐
- 点滴积累【JS】---JS小功能(onmousemove鼠标移动坐标接龙DIV)
效果: 思路: 利用onmousemove事件,然后获取鼠标的坐标,之后把DIV挨个遍历,最后把鼠标的坐标赋给DIV. 代码: <head runat="server"> ...
- 设计模式_Observable与Observer
一.基本概念 java.util.Observable 被观察者类,需要继承这个类 java.util.Observer 观察者类,需要实现这个接口中的update()方法 二.举例 Door ...
- typedef可以成为你的朋友
typedef static char int8;这个声明正确吗? A:err 所以上面那个声明是错误的. typedef为一种类型引入新的名字,而不是为变量分配空间,它并没有引入新的类型,而是为现有 ...
- php的颜色定义表
http://outofmemory.cn/code-snippet/1960/php-color-define-table <? /////////////////////////////// ...
- emblog后台拿shell
emlog版本:5.3.1 先本地弄好shell 新建一个文件夹,里面放shell,shell名称和文件名要一致.压缩为zip 然后在安装插件处上传. 成功后的路径content/plugins/te ...
- PHP——上传头像(1)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Character流与Byte流的区别
Character流与Byte流的区别 (2012-09-25 16:15:49) 标签: 杂谈 分类: 大赛指导 Character流与Byte流的区别是 A) 每次读入的字节数不同 B) 前者带有 ...
- 打开.py文件的方法
用IDLE打开这个文件,然后按F5,系统就自动开始运行这个python程序,然后当前运行目录就跳转到这个目录了
- php socket编程入门
服务端 <?php /** * File name server.php * 服务器端代码 * * @author guisu.huang * @since 2012-04-11 * */ // ...
- 第二百一十四节,jQuery EasyUI,Calendar(日历)组件
jQuery EasyUI,Calendar(日历)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Canlendar(日历)组件的使用方法 ...