struts2 Action获取request,session,application

a.利用工具类 ActionContext(获得Map类型的request,session等),ServletActionContext(获得封装的request,session等)
	public class ScopeAction{

		public String execute(){
		ActionContext ac = ActionContext.getContext();
		ac.getSession();
		ac.getApplication();
		//或者使用如下方式得到request,session
		Map<String,Object> request = (Map<String,Object>)ac.get("request");
		request.put("hello","hello world");
		ac.get("session");
		HttpServletRequest httpRequest = ServletActionContext.getRequest();
		}
	}

b.以Aware接口方式注入******************推荐使用框架提供一系列的Aware接口,
import java.util.Map;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.SessionAware;
import org.apache.struts2.util.ServletContextAware;

public class BaseAction implements RequestAware,SessionAware,ServletRequestAware,ServletContextAware{
    public  Map<String,Object>request;
    public Map<String,Object>session;
    public HttpServletRequest httpRequest;
    public HttpSession httpSession;
    public ServletContext application;

    public void setRequest(Map<String,Object>request){
        this.request = request;
    }
    public void setSession(Map<String,Object>session){
        this.session = session;
    }
    
    public void setServletContext(ServletContext servletContext) {
        this.application = servletContext;
    }
    
    public void setServletRequest(HttpServletRequest httpRequest) {
        this.httpRequest = httpRequest;
        this.httpSession =httpRequest.getSession();
    }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值