Shun 发表于 2021-10-23 22:48:44

Struts2访问servlet分享

一:访问或添加request/session/application属性


public String scope() throws Exception{
   ActionContext ctx = ActionContext.getContext();
   ctx.getApplication().put("app", "应用范围");//往ServletContext里放入app
   ctx.getSession().put("ses", "session范围");//往session里放入ses
   ctx.put("req", "request范围");//往request里放入req
   return "scope";
}


JSP:

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


二:获取HttpServletRequest / HttpSession / ServletContext / HttpServletResponse对象

方法一,通过ServletActionContext.类直接获取:

public String rsa() throws Exception{
       HttpServletRequest request = ServletActionContext.getRequest();
       ServletContext servletContext = ServletActionContext.getServletContext();
       request.getSession()
       HttpServletResponse response = ServletActionContext.getResponse();
       return "scope";
}

方法二,实现指定接口,由struts框架运行时注入:

public class HelloWorldAction implements ServletRequestAware, ServletResponseAware, ServletContextAware{
       private HttpServletRequest request;
       private ServletContext servletContext;
       private HttpServletResponse response;
       public void setServletRequest(HttpServletRequest req) {
            this.request=req;
       }
       public void setServletResponse(HttpServletResponse res) {
            this.response=res;
       }
       public void setServletContext(ServletContext ser) {
            this.servletContext=ser;
       }
}


https://www.uoften.com/program/jsp/20180413/47609.html
页: [1]
查看完整版本: Struts2访问servlet分享