zoukankan      html  css  js  c++  java
  • 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;
    	}	
    }
    



  • 相关阅读:
    8. Java 异常
    9. GUI编程
    生成验证码
    使用response实现文件的下载
    关于小程序的几个坑
    关于redux应用
    关于修改react的启动端口
    react 坑总结
    关于小程序的一些坑的总结
    微信开发者工具 跨域问题
  • 原文地址:https://www.cnblogs.com/raphael5200/p/5114768.html
Copyright © 2011-2022 走看看