Struts2中获取JSP内置对象的方法详解编程语言

Struts2中获取HttpRequest,HttpResponse,HttpSession,Application,ServletContext及相关的Map对象。

import java.util.Map; 
 
import javax.servlet.ServletContext; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import javax.servlet.http.HttpSession; 
 
import org.apache.struts2.ServletActionContext; 
import org.apache.struts2.interceptor.ApplicationAware; 
import org.apache.struts2.interceptor.RequestAware; 
import org.apache.struts2.interceptor.ServletRequestAware; 
import org.apache.struts2.interceptor.ServletResponseAware; 
import org.apache.struts2.interceptor.SessionAware; 
import org.apache.struts2.util.ServletContextAware; 
 
import com.opensymphony.xwork2.ActionContext; 
import com.opensymphony.xwork2.ActionSupport; 
 
@SuppressWarnings( { "serial", "unused", "unchecked" }) 
public class Test extends ActionSupport implements ServletRequestAware, ServletResponseAware, RequestAware, SessionAware, ServletContextAware, ApplicationAware { 
 
    private HttpServletRequest request; 
 
    private HttpServletResponse response; 
 
    private HttpSession session; 
 
    private Map<String, Object> requestMap, sessionMap, contextMap; 
 
    private ServletContext context; 
 
    @Override 
    public String execute() throws Exception { 
        this.request = ServletActionContext.getRequest(); 
        this.request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST); 
 
        this.session = this.request.getSession(); 
        this.sessionMap = ActionContext.getContext().getSession(); 
        this.sessionMap = ServletActionContext.getContext().getSession();// 调用父类ActionContext的方法 
        this.sessionMap = (Map<String, Object>) ActionContext.getContext().get(ServletActionContext.SESSION); 
 
        this.response = ServletActionContext.getResponse(); 
        this.response = (HttpServletResponse) ActionContext.getContext().get(ServletActionContext.HTTP_RESPONSE); 
 
        this.context = this.session.getServletContext(); 
        this.context = ServletActionContext.getServletContext(); 
        this.context = (ServletContext) ActionContext.getContext().get(ServletActionContext.SERVLET_CONTEXT); 
        this.contextMap = ActionContext.getContext().getApplication(); 
        this.contextMap = ActionContext.getContext().getContextMap(); 
        this.contextMap = (Map<String, Object>) ActionContext.getContext().get(ActionContext.APPLICATION); 
        this.contextMap = (Map<String, Object>) ActionContext.getContext().get(ServletActionContext.APPLICATION); 
 
        return SUCCESS; 
    } 
 
    @Override 
    public void setServletRequest(HttpServletRequest request) { 
        this.request = request; 
    } 
 
    @Override 
    public void setServletResponse(HttpServletResponse response) { 
        this.response = response; 
    } 
 
    @Override 
    public void setRequest(Map<String, Object> requestMap) { 
        this.requestMap = requestMap; 
    } 
 
    @Override 
    public void setSession(Map<String, Object> sessionMap) { 
        this.sessionMap = sessionMap; 
    } 
 
    @Override 
    public void setServletContext(ServletContext context) { 
        this.context = context; 
    } 
 
    @Override 
    public void setApplication(Map<String, Object> contextMap) { 
        this.contextMap = contextMap; 
    } 
}

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/10840.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论