• 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();
        }    
    }
  • 相关阅读:
    同余方程
    倒酒
    机器翻译
    vue 锚点定位
    解决vuex刷新页面数据丢失
    h5 input失去焦点软键盘把页面顶起
    js 监听ios手机键盘弹起和收起的事件
    js 将数组中的每一项安装奇偶重新组合成一个数组对象
    moment.js获取本周本月本年的开始日期和结束日期
    vue 所有的路由跳转加一个统一参数
  • 原文地址:https://www.cnblogs.com/AnswerTheQuestion/p/6547555.html
Copyright © 2020-2023  润新知