struts2中的action获取web资源
发表于:2024-11-26 作者:热门IT资讯网编辑
编辑最后更新 2024年11月26日,/** * 通过和Servlet解耦的方式获取web资源,例如:ServletContext,Session,request,parameter的Map属性集合 * 1、通过ActionContext
/** * 通过和Servlet解耦的方式获取web资源,例如:ServletContext,Session,request,parameter的Map属性集合 * 1、通过ActionContext获取 * 2、通过实现xxxAware接口的方式 */ActionContext actionContext = ActionContext.getContext();//获取application(ServletContext)MapapplicationMap = actionContext.getApplication();//获取sessionMap sessionMap = actionContext.getSession();//获取requestMap requestMap = (Map ) actionContext.get("request");//获取parameter 返回的是参数数组Map parameterMap = actionContext.getParameters();
implements RequestAware,ApplicationAware,SessionAware,ParameterAwareprivate MapsessionMap;private Map applicationMap;private Map requestMap;private Map parameterMap;@Overridepublic void setSession(Map sessionMap) {this.sessionMap = sessionMap;}@Overridepublic void setApplication(Map applicationMap) {this.applicationMap = applicationMap;}@Overridepublic void setRequest(Map requestMap) {this.requestMap = requestMap;}@Overridepublic void setParameters(Map parameterMap) {this.parameterMap = parameterMap;}
/** * 通过和Servlet耦合的方式获取web资源 * 1、通过ServletActionContext获取 * 2、通过实现ServletxxxAware获取 */ServletContext servletContext = ServletActionContext.getServletContext();HttpServletRequest servletRequest = ServletActionContext.getRequest();HttpServletResponse httpServletResponse = ServletActionContext.getResponse();
implements ServletContextAware,ServletRequestAware,ServletResponseAware@Overridepublic void setServletResponse(HttpServletResponse response) {}@Overridepublic void setServletRequest(HttpServletRequest request) {}@Overridepublic void setServletContext(ServletContext context) {}