zoukankan      html  css  js  c++  java
  • Struts2中获取request,session,application对象

    第一种方式:获取map类型的request,session,application

    package com.maya.action;
    
    import java.util.Map;
    import com.opensymphony.xwork2.ActionContext;
    import com.opensymphony.xwork2.ActionSupport;
    
    public class RSAAction extends ActionSupport {
        
        //获取map类型的request,session,application
        private Map<String, Object> request;
        private Map<String, Object> session;
        private Map<String, Object> application;
        private ActionContext context;
        //为了方便在构造函数中获取ActionContext对象
        public RSAAction(){
            context=ActionContext.getContext();
        }
        //以下获取map类型的request,session,application
        @Override
        public String execute() throws Exception {
            //获取map类型的request
            request=(Map<String, Object>) context.get("reqeust");
            request.put("key", "value");
            
            //获取map类型的session
            session=context.getSession();
            session.put("key", "value");
            
            //获取map类型的application
            application=context.getApplication();
            application.put("key", "value");
                    
            return super.execute();
        }    
    }

    第二种方式:采用接口方式获得map类型的request、session、application

    package com.maya.action;
    
    import java.util.Map;
    import org.apache.struts2.interceptor.ApplicationAware;
    import org.apache.struts2.interceptor.RequestAware;
    import org.apache.struts2.interceptor.SessionAware;
    import com.opensymphony.xwork2.ActionSupport;
    
    public class RSAAction extends ActionSupport implements RequestAware,SessionAware,ApplicationAware {
        private Map<String, Object> request;
        private Map<String, Object> session;
        private Map<String, Object> application;
        
        //获取reqeust
        @Override  
        public void setRequest(Map<String, Object> reqeust) {
            this.request=reqeust;
            
        }
        //获取session
        @Override
        public void setSession(Map<String, Object> session) {
            this.session=session;
            
        }
        //获取application
        @Override
        public void setApplication(Map<String, Object> application) {
            this.application=application;
            
        }
        
        @Override
        public String execute() throws Exception {
            //赋值方式
            request.put("key", "value");
            session.put("key", "value");
            application.put("key", "value");        
            return super.execute();
        }    
    }

    第三种方式:获取Http类型的request、session、application

    package com.maya.action;
    
    import java.util.Map;
    
    import javax.servlet.ServletContext;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpSession;
    import com.opensymphony.xwork2.ActionSupport;
    
    public class RSAAction extends ActionSupport {
        //获取Http类型的request、session、application
        private HttpServletRequest request;
        private HttpSession session;
        private ServletContext application;
        
        public RSAAction(){
            request=ServletActionContext.getRequest();
            session=request.getSession();
            application= session.getServletContext();
        }
        
        @Override
        public String execute() throws Exception {
            
            request.setAttribute("key", "value");
            session.setAttribute("key", "value");
            application.setAttribute("key", "value");        
            
            return super.execute();
        }    
    }
  • 相关阅读:
    SSH整合中,使用父action重构子类action类.(在父类中获取子类中的泛型对象)
    算法大神之路----排序(插入排序法)
    Redis的基本使用(基于maven和spring)
    算法大神之路----排序(选择排序法)
    exe4j 安装
    png转ico网站
    artTemplate/template.js模板将时间格式化为正常的日期
    artTemplate js模板引擎动态给html赋值
    IIS7的集成模式下如何让自定义的HttpModule不处理静态文件(.html .css .js .jpeg等)请求
    Windows Server2012 R2 安装.NET Framework 3.5失败解决方法
  • 原文地址:https://www.cnblogs.com/AnswerTheQuestion/p/6547555.html
Copyright © 2011-2022 走看看