import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.acegisecurity.context.SecurityContextHolder;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.CookiesAware;
import org.apache.struts2.interceptor.ParameterAware;
import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;
import com.hnjz.core.model.DicData;
import com.hnjz.core.model.Org;
import com.hnjz.core.model.Role;
import com.hnjz.core.model.User;
import com.hnjz.core.web.action.PageList;
import com.hnjz.core.web.listener.StaticLoad;
import com.hnjz.sys.search.ErrorPool;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("unchecked")
public class BaseAction extends ActionSupport implements ServletRequestAware, ServletResponseAware,
RequestAware, CookiesAware, ParameterAware,
SessionAware, ApplicationAware {
/**
* 当返回值为json时,保存一些特殊处理的介质
*/
protected Map jsonResultMap = new HashMap();
protected HttpServletRequest httpServletRequest;
protected HttpServletResponse httpServletResponse;
protected Map request;
protected Map session;
protected Map application;
protected Map parameters;
protected Map cookiesMap;
protected PageList pl;
protected String first;
protected String success;
protected ErrorPool errorPool;
protected int page;
protected final Log log = LogFactory.getLog(getClass());
private static final long serialVersionUID = 5321284593923166095L;
/**
* 得到当前用户
* @return
*/
public User getCurUser() {
return (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
}
/**
* 得到当前用户的角色
* @return
*/
public Role getCurRole() {
AbstractCurdManager curdManager = (AbstractCurdManager) StaticLoad.getBean("curdManager");
User user = ((User) curdManager.get(User.class, getCurUser().getId()));
return user.getUserRole().iterator().next().getRole();
}
/**
* 得到当前用户所属的行政区划
* @return
*/
public DicData getCurDept() {
AbstractCurdManager curdManager = (AbstractCurdManager) StaticLoad.getBean("curdManager");
User user = ((User) curdManager.get(User.class, getCurUser().getId()));
return user.getDept();
}
/**
* 得到当前用户所属的行政区划
* @return
*/
public Org getCurOrg() {
AbstractCurdManager curdManager = (AbstractCurdManager) StaticLoad.getBean("curdManager");
User user = ((User) curdManager.get(User.class, getCurUser().getId()));
return user.getGxOrg();
}
public void setServletRequest(HttpServletRequest arg0) {
this.httpServletRequest = arg0;
}
public Map getJsonResultMap() {
return jsonResultMap;
}
public void setServletResponse(HttpServletResponse arg0) {
this.httpServletResponse = arg0;
}
public void setRequest(Map arg0) {
this.request = arg0;
}
public HttpServletRequest getHttpServletRequest() {
return httpServletRequest;
}
public void setCookiesMap(Map arg0) {
this.cookiesMap = arg0;
}
public void setParameters(Map arg0) {
this.parameters = arg0;
this.errorPool = new ErrorPool(parameters);
}
public void setSession(Map arg0) {
this.session = arg0;
}
public void setApplication(Map arg0) {
this.application = arg0;
}
public PageList getPl() {
return pl;
}
public void setPl(PageList pl) {
this.pl = pl;
}
public int getPage() {
return page;
}
public String getSuccess() {
return success;
}
public void setSuccess(String success) {
this.success = success;
}
/**
* 通过处理判断列表页面的页码。
*
* @return
*/
public int getPageNum() {
// 读取页码
int pageNum = 1;
if (parameters.get("page") != null) {
String pageStr = ((String[]) parameters.get("page"))[0];
if (StringUtils.isNumeric(pageStr) && StringUtils.isNotBlank(pageStr)) {
pageNum = Integer.parseInt(pageStr);
session.put("search_page", pageNum);
} else if (!"1".equals(first)) {
Integer pageObj = (Integer) session.get("search_page");
if (pageObj != null) {
pageNum = pageObj.intValue();
}
}
}
return pageNum;
}
public String getFirst() {
return first;
}
public void setFirst(String first) {
this.first = first;
}
public void setPage(String page) {
this.page = Integer.parseInt(page);
}
public void setPage(int page) {
this.page = page;
}
/**
* 根据当前用户和外部功能查询所对应代码
* @param userid 当前用户
* @param funcCode 外部功能编码
* @return
*/
protected String getMyFuncCity(String areaid, String funcCode) {
AbstractCurdManager curdManager = (AbstractCurdManager) StaticLoad.getBean("curdManager");
if (StringUtils.isBlank(areaid)) {//如果所属地市为空,返回""
return "";
}
String hsql = "select code from TOutfuncRelation m where m.cityid.id=? and m.functionid.attrName2= ?";
String[] canshu = new String[] {areaid, funcCode };
List list = curdManager.find(hsql, canshu);
if (list.size() > 0) {
return String.valueOf(list.get(0));
}
return "";
}
}
分享到:
相关推荐
SSH框架,全称为Struts2、Hibernate和Spring的集成框架,是Java开发中常见的MVC架构。SSH框架的合理书写顺序对于项目的结构清晰和代码维护性至关重要。下面将详细阐述SSH框架各层代码的书写规范。 1. **Action层**...
SSH框架的整合不仅提高了系统的可维护性和扩展性,还极大地简化了开发流程。Spring负责业务逻辑的管理,Struts2处理MVC模式下的控制层,而Hibernate则专注于数据持久层,三者相辅相成,共同构建了一个高度模块化、松...
SSH框架集成,即Struts1.0 + Spring + Hibernate框架的整合应用,是Java Web开发中较为复杂的集成模式之一。它集合了MVC设计模式(通过Struts实现)、依赖注入与面向切面编程(通过Spring实现)以及对象关系映射...
在本教程中,我们将深入探讨如何使用SSH框架搭建网上商城项目的商品类基本模块。SSH框架,即Struts2、Hibernate和Spring的组合,是Java Web开发中常用的三大框架,它们分别负责视图、数据持久化和应用集成。下面,...
**标题:“FCKEditor在SSH框架中的配置”** 在Java Web开发中,SSH(Spring、Struts、Hibernate)是一个常见的企业级应用框架。FCKEditor则是一款强大的富文本编辑器,用于提供用户友好的在线文本编辑功能。这篇...
通过以上步骤,我们完成了SSH框架的集成。SSH整合使得开发人员可以利用Struts处理请求和展示结果,Spring管理组件和事务,以及Hibernate处理数据库交互,大大提高了开发效率和代码的可维护性。在实际项目中,还需要...
是一个练习ssh框架整合的入门项目,同时可以熟悉hibernate进行增删查改的操作。 技术上的提升: 在web层和dao层都提取了公共代码封装到BaseAction和BaseDao中,提高了代码的复用,同时按照OO设计原则,针对接口...
是一个练习ssh框架整合的入门项目,同时可以对熟悉的hibernate进行增删查改的操作。 技术上的提升: 在web层和dao层都提取了公共代码封装到BaseAction和BaseDao中,提高了代码的复用性,同时遵循OO设计原则,接口...
是一个练习ssh框架整合的入门项目,同时可以对熟悉的hibernate进行增删查改的操作。技术支持在web层和dao层都提取了公共代码封装到BaseAction和BaseDao中,提高了代码的复用性,同时遵循OO设计原则,接口是针对编程...
在SSH整合的2.0版本中,使用的是MyEclipse Blue Edition 6.5.0开发环境,配合MySQL 5.0数据库,以及Struts 1.2、Spring 2.0和Hibernate 3.1这些特定版本的框架。这种组合虽然较为陈旧,但仍然能展示SSH整合的基本...
### SSH集成示例详解 #### 一、概述 本文档旨在提供一个关于...该示例虽然简单,但涵盖了SSH框架的核心组成部分,对于初学者来说是非常好的入门教程。未来还可以进一步扩展功能,比如增加用户管理、权限控制等模块。
#### 二、SSH框架集成原则 在SSH集成中,为了确保各个组件能够协同工作,必须遵循一定的顺序和规则: 1. **Spring优先原则**:Spring框架必须在其他两个框架之前加载和初始化,以便于它能够管理整个应用程序的生命...
Struts2是一个流行的Java web开发框架,用于构建MVC(模型-视图-控制器)架构的应用程序。在SSH(Struts2、Spring、Hibernate)框架组合中,Struts2负责控制层,处理用户请求和业务逻辑。在这个"网上商城项目"的第24...
通过以上步骤,我们成功地搭建了一个基于Eclipse + MyEclipse的SSH框架开发环境,并实现了一个简单的用户信息查询功能。此过程不仅涉及到了各个框架的基本配置,还涉及到了数据库操作、前端页面设计等多个方面,有助...
通过上述分析可以看出,SSH框架组合是Java Web开发中非常重要的一个技术栈,掌握了这三个框架的核心原理及其实现机制,对于从事Java后端开发的工程师来说是非常必要的。此外,Spring框架作为现代Java开发中不可或缺...
本开发平台基于先进的J2EE技术,利用Spring、Struts2、Hibernate等开源框架构建了一个高度集成的开发环境。通过以上各部分的详细介绍,可以看出该平台不仅技术先进、架构安全、稳定、高效,而且易于快速上手,非常...
6. **SSH**:指Spring、Struts和Hibernate,分别是企业级应用开发框架、Web应用框架和对象关系映射工具。 7. **Oracle**:一种关系型数据库管理系统,用于存储BBS系统中的数据。 ### 知识点三:软件开发模式 文档...