作用域对象一般有application session request
1.通过ActionContext对象获取
//获取ActionContext对象
ActionContext ctx=ActionContext.getContext();
//获取application
Map<String,Object> applicationMap=ctx.getApplication();
applicationMap.put("app", 1000000);
//获取session
Map<String,Object> sessionMap=ctx.getSession();
sessionMap.put("session", 10000);
//获取request
ctx.put("request", 100);
//值栈 (request)
ValueStack vs=ctx.getValueStack();
vs.set("test", 333333);
2.原生的servlet对象
//第二种方式原生的servlet对象
ServletContext application=ServletActionContext.getServletContext();
application.setAttribute("app", 200000);
HttpSession session=ServletActionContext.getRequest().getSession();
session.setAttribute("session", 200);
HttpServletRequest request=ServletActionContext.getRequest();
request.setAttribute("request", 2);
3.使用接口实现方法传值 implements ServletRequestAware
private HttpServletRequest request;
public void setServletRequest(HttpServletRequest request) {
this.request=request;
}
测试页面
name=${requestScope.person.name}<br/>
age=${age}<br/>
application:${applicationScope.app}<br/>
session:${sessionScope.session}<br/>
request:${requestScope.request}<br/>
test:${requestScope.test}<br/>