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( ...
随机推荐
- Windows 2003 远程桌面
- NIO - Selector源码分析
1. 背景 SelectableChannel对象的多路复用器. 可以通过调用Selector.open()方法创建Selector对象.Selector.open()方法会利用系统默认的Select ...
- Atitit.js获取上传文件全路径
Atitit.js获取上传文件全路径 1. 默认的value只能获取文件名..安全原因.. 1 2. Firefox浏览器的读取 1 3. Html5 的file api 2 4. 解决方法::使用a ...
- eclipse中使用weblogic作为服务器控制台中文乱码
使用WebLogic时控制台输出中文乱码解决方法: 1.找到weblogic安装目录,当前项目配置的domain 2.找到bin下的setDomainEnv.cmd文件 3.打开文件,从文 ...
- 40. Implement Queue by Two Stacks【medium】
As the title described, you should only use two stacks to implement a queue's actions. The queue sho ...
- 点击按钮,实现两个td值互换
<body> <table id="table1"> <tr> <td>第一个单元格</td> <td>第二 ...
- RabbitMQ系列一
1.http://www.erlang.org/downloads 下载一个比教新的版本(otp_win64_20.2.exe) 2.http://www.rabbitmq.com/install-w ...
- js测试
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 机器学习算法( 五、Logistic回归算法)
一.概述 这会是激动人心的一章,因为我们将首次接触到最优化算法.仔细想想就会发现,其实我们日常生活中遇到过很多最优化问题,比如如何在最短时间内从A点到达B点?如何投入最少工作量却获得最大的效益?如何设 ...
- C语言函数sscanf()的用法(转)
转自:http://www.cnblogs.com/lyq105/archive/2009/11/28/1612677.html C语言函数sscanf()的用法 sscanf() - 从一个字符串中 ...