Struts2 访问 Web 资源的几种形式

1. 通过获取 com.opensymphony.xwork2.ActionContext类的对象来获取四个作用域通信对象

    //获取com.opensymphony.xwork2.ActionContext类对象
    ActionContext actionContext = ActionContext.getContext();
    
    //获取Application对象
    Map<String ,Object> application = actionContext.getApplication();
    
    //获取session对象
    Map<String ,Object> session = actionContext.getSession();
    
    //获取request对象
    Map<String ,Object> request = (Map<String, Object>) actionContext.get("request");
    
    //获取parameters对象
    Map<String ,Object> parameters = (Map<String,Object>)
    actionContext.getParameters()

2. 通过实现 ApplocationAware,RequestAware,SessionAware,ParameterAware 接口分别获取 applocation、request、session、parameters

public class TestAction implements ApplicationAware, RequestAware,
SessionAware{
	private Map<String, Object> application;
	private Map<String, Object> request;
	private Map<String, Object> session;
	public void setSession(Map<String, Object> session) {
		this.session = session;
		
	}
 
	public void setRequest(Map<String, Object> request) {
		this.request = request;
		
	}
 
	public void setApplication(Map<String, Object> application) {
		this.application = application;
		
	}
	public String execute(){
		application.put("ActionApplication", "ActionApplication");
		session.put("ActionSession", "ActionSession");
		request.put("ActionRequest", "ActionRequest");
		return "success";
	}
}

3. 通过 ServletActionContext 类获取

        //通过ServletActionContext类的对象,获取作用域对象
		
	//获取Application对象
	ServletContext application =  ServletActionContext.getServletContext();
	//获取session对象
	HttpSession session = ServletActionContext.getRequest().getSession();
		
	//获取request对象
	HttpServletRequest request = ServletActionContext.getRequest();

4. 通过实现ServletRequestAware,ServletResponseAware, ServletContextAware

public class TestServletAwareAction implements ServletRequestAware,
		ServletResponseAware, ServletContextAware {
 
	//获取HttpServletRequest
	private HttpServletRequest request;
	public void setServletRequest(HttpServletRequest request) {
		this.request = request;
	}
 
	//获取HttpServletResponse
	private HttpServletResponse response;
	public void setServletResponse(HttpServletResponse response) {
		this.response = response;
	}
 
	//获取ServletContext
	private ServletContext application;
	public void setServletContext(ServletContext application) {
		this.application = application;
	}
 
	public String execute(){
		//request
		request.setAttribute("servletRequest", "servletRequest");
		//session
		request.getSession().setAttribute("servletSession", "servletSession");
		//application
		application.setAttribute("servletApplication", "servletApplication");
		return "success";
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值