`

spring-struts2 baseaction

 
阅读更多

@Results({ @Result(name = BaseStruts2Action.JSON, type = "json", params = {
        "root", "rootJson" }) })
public class BaseStruts2Action extends ActionSupport {


  
    /**
     * 返回结果json类型
     */
    public static final String JSON = "json";

    @Autowired
    @Qualifier("userSessionInfoProvider")
    private IUserSessionInfoProvider sessionInfoProvider;

    /**
     * json数据容器
     */
    protected Map<String, Object> rootJson = new HashMap<String, Object>();

    public HttpServletRequest getRequest() {
        return ServletActionContext.getRequest();
    }

    public HttpServletResponse getResponse() {
        return ServletActionContext.getResponse();
    }

    public Map<String, Object> getRootJson() {
        return rootJson;
    }

    public void setRootJson(Map<String, Object> rootJson) {
        this.rootJson = rootJson;
    }

    /**
     * 获取当前登录用户的Id,Deprecated,使用getUserSessionInfo
     *
     * @return 当前登录用户Id
     */
    @Deprecated
    public final int getCurrentUserId() {
        if (ServletActionContext.getRequest().getUserPrincipal() == null) {
            return -1;
        }
        String userId = ServletActionContext.getRequest().getUserPrincipal()
                .getName();
        return Integer.parseInt(userId);
    }

    /**
     * 获取当前登录用户的基本信息
     *
     * @return
     */
    public final UserSessionInfo getUserSessionInfo() {
        if (ServletActionContext.getRequest().getUserPrincipal() == null) {
            return null;
        }
        String userId = ServletActionContext.getRequest().getUserPrincipal()
                .getName();
        return sessionInfoProvider.retrieveUserSessionInfo(ServletActionContext
                .getRequest().getSession(), userId);
    }

    /**
     * 获取当前登录用户的基本信息,因微信 没有登录界面,因此需要传入id获取用户
     *
     * @return
     */
    // public final UserSessionInfo getUserSessionInfo(String userId) {
    // return sessionInfoProvider.retrieveUserSessionInfo(ServletActionContext
    // .getRequest().getSession(), userId);
    // }

    @Deprecated
    public void setTicket(String str) {
        // 增加此方法,仅用于规避Struts与CAS之间的一个冲突
    }

 
}

分享到:
评论

相关推荐

    ssh框架整合详细步骤(spring+struts2+hibernate)

    ### SSH框架整合详细步骤(spring+struts2+hibernate) #### 一、整合概述 在现代Web应用开发中,SSH(Struts2、Spring、Hibernate)框架因其各自独特的功能和优势,常被组合使用以构建高效、稳定且易于维护的系统...

    ibatis+spring+struts2 整合开发例子

    在实际开发中,开发者通常会创建一个BaseAction类,继承自Struts2的ActionSupport类,并注入必要的Service,这样可以减少重复代码。对于Mapper接口,每个接口对应一个XML文件,其中包含SQL语句和结果映射。当...

    SSH(Struts1.0+Spring+Hibernate)框架集成笔记

    ### SSH(Struts1.0+Spring+Hibernate)框架集成笔记 #### 一、概述 SSH框架集成,即Struts1.0 + Spring + Hibernate框架的整合应用,是Java Web开发中较为复杂的集成模式之一。它集合了MVC设计模式(通过Struts...

    Hibernate3.3.2+Spring2.5.5+Struts2.1.6+Extjs3.0.0

    通过以上步骤,我们可以构建出一个基于Hibernate、Spring、Struts 2和Extjs的技术栈,并利用这些技术的特点来实现快速开发。此框架不仅提高了开发效率,还增强了系统的可维护性和可扩展性。开发者可以根据实际项目...

    ssh:struts-2.5+spring4+hibernate5

    简单的ssh项目,泛型BaseAction配置,简单注解配置,applicationContext.xml配置,jar包地址 链接:https://pan.baidu.com/s/14NkywuhG6mESyhE1VMkhOQ 密码:en19

    struts1.2,spring2,hibernate3整合实例代码

    Struts1.2、Spring2和Hibernate3是Java Web开发中的三大框架,它们的整合是构建企业级应用的常见方式。这个实例代码提供了一个清晰的示例,展示了如何将这三个框架有效地结合在一起。 Struts1.2是MVC(Model-View-...

    crm人员关系管理系统spring+struts2+Hibernate

    技术上的提升:在web层和dao层都提取了公共代码封装到BaseAction和BaseDao中,提高了代码的复用,同时按照OO设计原则,针对接口编程,而不是针对实现编程。使用拦截器的方法对系统权限进行初步控制(后续可以采用...

    Eclipse + MyEclipse整合Struts+Spring+Hibernate简单例子开发

    2. **添加Struts能力**: - 在项目上点击右键,选择MyEclipse &gt; Add Struts Capabilities - 设置Base package for new classes为`com.lnic.struts` - 完成后,项目中将自动添加所需的Struts JAR包。 3. **添加...

    Struts+Spring+Hibernate 简单例子开发

    ### Struts+Spring+Hibernate 简单例子开发 #### 一、项目概述与环境配置 本案例通过整合Struts、Spring以及Hibernate三大框架来实现一个简单的应用开发,旨在演示如何利用这三种技术来构建一个基本的应用程序。该...

    struts+spring+hibernate框架集成

    - 创建代码结构,特别关注`BaseAction.java`的创建,可能需要手动导入`org.springframework.web.context.WebApplicationContext`包。 - 开发JSP页面`index.jsp`和`result.jsp`,前者用于接收用户输入,后者展示查询...

    Struts2.0+hibernate+spring紧急发布2.0代码生成器

    在Struts2中,`BaseAction.java`通常是一个基类,包含共有的方法,如数据校验、权限控制等,子类Action继承自这个基类,实现具体的业务逻辑。 Hibernate则是一个对象关系映射(ORM)框架,它简化了数据库操作。在...

    ssh2单元测试action的例子

    这份文档将涵盖以下几个关键知识点:Maven依赖配置、Struts2配置、Spring集成以及具体的Action类实现和测试方法。 ### Maven依赖配置 为了进行SSH2框架内的单元测试,我们需要在项目的`pom.xml`文件中添加必要的...

    [新闻文章]Struts文章系统_strutsarticle_release.zip

    此外,可能还有一个或多个自定义的Action子类,这些类扩展了Struts的BaseAction,实现了特定的业务逻辑。 除了核心的Struts框架,这个文章系统可能还使用了其他技术,比如Spring框架来管理依赖和事务,Hibernate或...

    S2SH配置部署日志切面拦截器

    标题 "S2SH配置部署日志切面拦截器" 指的是在Spring、Struts2和Hibernate(简称S2SH)这一经典Java Web开发框架组合中,如何配置和实现日志切面拦截器。这样的拦截器允许我们对应用程序中的特定方法调用进行拦截,并...

    utils类及baseAction

    在基于Spring MVC或Struts等Web框架的开发中,`BaseAction` 通常作为控制器层(Controller)的基础类。它封装了一些共通的逻辑,比如请求处理、权限验证、日志记录等,以便子类继承后直接使用。这样可以减少代码重复...

    ssh框架书写合理顺序及规范

    SSH框架,全称为Struts2、Hibernate和Spring的集成框架,是Java开发中常见的MVC架构。SSH框架的合理书写顺序对于项目的结构清晰和代码维护性至关重要。下面将详细阐述SSH框架各层代码的书写规范。 1. **Action层**...

    ssi框架搭建流程

    在Java Web开发中,SSI(Struts2、Spring、Ibatis)框架组合是一种常见的企业级应用架构,它整合了三个强大的框架:Struts2用于控制层,Spring作为全面的依赖注入容器和事务管理器,而Ibatis则负责数据访问层。...

    ssh集成笔记

    2. **配置文件的修改**:在SSH集成过程中,需要对多个配置文件进行修改以适应整体架构的需求,主要包括`web.xml`、`struts-config.xml`和Spring的配置文件(如`applicationContext.xml`)。 3. **Spring对Hibernate...

    初学JAVA-WEB开发的小项目sparkling-heart.zip

    实现了用户的注册、邮件激活、登陆、支付、商品的添加搜索和显示等功能2.SSH_CRM是一个简单的spring+struts2+Hibernate整合项目是一个crm人员关系管理系统。管理员登陆系统可以对录入系统内的人员进行增删查改。是一...

Global site tag (gtag.js) - Google Analytics