• Struts2 在Action中获取request、session、servletContext的三种方法


    首页message.jsp:

    <body>
       	 ${requestScope.req }<br/>
       	 ${applicationScope.app }<br/>
       	 ${sessionScope.ses }<br/>
      </body>


    (1)使用ActionContext获取


    public String sayHello(){
    		ActionContext cxt=ActionContext.getContext();
    		cxt.getApplication().put("app", "application范围");
    		cxt.getSession().put("ses", "session范围");
    		cxt.put("req", "request范围");
    		return "message";
    	}



    (2)使用ServletActionContext获取

    public String sayTwo(){
    		HttpServletRequest request=ServletActionContext.getRequest();
    		ServletContext cxt=ServletActionContext.getServletContext();
    		request.setAttribute("req", "request请求范围");
    		request.getSession().setAttribute("ses", "会话范围");
    		cxt.setAttribute("app", "应用程序范围");
    		return "message";
    	}


    (3)通过继承ServletRequestAware,ServletContextAware 并实现set方法获取

    public class HelloAction implements ServletRequestAware,ServletContextAware{
    	private HttpServletRequest request1;
    	private ServletContext context1;
    
    	public HelloAction(){}
    	
    	public String sayThree(){
    		request1.setAttribute("req", "request请求范围111");
    		request1.getSession().setAttribute("ses", "会话范围111");
    		context1.setAttribute("app", "应用程序范围111");
    		return "message";
    	}
    	@Override
    	public void setServletRequest(HttpServletRequest arg0) {
    		request1=arg0;
    	}
    	@Override
    	public void setServletContext(ServletContext arg0) {
    		context1=arg0;
    	}	
    }
    



  • 相关阅读:
    使用eclipse创建Spring Boot项目
    Oracle 一个表的数据update到另一个表
    C3P0连接池属性配置注释
    Druid连接池
    Oracle 五笔码函数
    Oracle 拼音码函数
    JAVA JDK环境变量配置
    一 测试基础之测试方法
    SonarQube+Jenkins,搭建持续交付平台
    swagger集成到springBoot 项目中
  • 原文地址:https://www.cnblogs.com/raphael5200/p/5114768.html
Copyright © 2020-2023  润新知