代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
抽取BaseAction基类
作者:
ym80
/ 发布于
2015/4/8
/
568
BaseAction import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import javax.annotation.Resource; import cn.jfree.oa.service.IBookService; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; /** * 通用Action * * */ public class BaseAction<T> extends ActionSupport implements ModelDriven<T> { @Resource protected IBookService bookService; protected T model; public BaseAction() { ParameterizedType type = (ParameterizedType) this.getClass().getGenericSuperclass(); Type[] types = type.getActualTypeArguments(); Class<T> clazz = (Class<T>) types[0]; try { model = clazz.newInstance(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } public T getModel() { return model; } } 在BaseAction中注入,在*ActionImpl中实现 import cn.jfree.oa.service.user.UserService; import com.opensymphony.xwork2.ActionSupport; /** * 实现表现层 重复代码复用 * * * */ public abstract class BaseAction extends ActionSupport { // 注入Service protected UserService userService; public void setUserService(UserService userService) { this.userService = userService; } } /**************************************************/ /**************************************************/ import org.apache.struts2.ServletActionContext; import cn.jfree.oa.domain.user.User; import cn.jfree.oa.web.action.base.BaseAction; import com.opensymphony.xwork2.ModelDriven; /** * 实现用户登陆 * */ public class LoginAction extends BaseAction implements ModelDriven<User> { // 模型驱动 private User user = new User(); @Override public User getModel() { return user; } } 构造器注入String类型的className /** * 公共Action * * */ public class BaseAction extends ActionSupport implements ModelDriven { // 完成模型驱动 protected Object model; public Object getModel() { return model; } // 注入Service @Autowired @Qualifier("userService") protected UserService userService; // 简化Servlet API protected HttpServletRequest getRequest() { return ServletActionContext.getRequest(); } protected HttpSession getSession() { return ServletActionContext.getRequest().getSession(); } } /*****************************************/ /*****************************************/ /** * 登陆 请求处理 * * */ public class LoginAction extends BaseAction { public LoginAction(String modelClassName) { try { model = Class.forName(modelClassName).newInstance(); } catch (Exception e) { e.printStackTrace(); } } } 与1类型,不过每个子类都创建构造器,太麻烦
试试其它关键字
BaseAction
基类
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
ym80
贡献的其它代码
(
7
)
.
mvc模式实例
.
ROOT账户误删后恢复
.
异常处理
.
抽取BaseAction基类
.
格式化字符串
.
utf8编码
.
二进制复制文件
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3