HttpServletRequest
,HttpSession
,ServletContext
static ActionContext getContext()
返回一个实例化ActionContext对象,用于调用下面的方法Object get(key)
返回ActionContext中存放的键值对的值 其实这里获取的是Servlet中HttpServletRequest
对象的属性Object put(key,value)
向ActionContext中存放键值对,同样该方法用于存放HttpServletRequest
的属性Map getSession()
返回一个Map对象,不过这个模拟了HttpSession
的用法,只不过现在向其中存放键值对使用put,获取属性用getMap getApplication()
返回一个Map对象,不过这个模拟了Servlet中的ServletContext
对象的方法。只不过存放和获取属性的方法用的分别是put和getMap getParameters()
获取所有的请求参数,类似调用HttpServletRequest对象的getParameterMap()方法Map setSession(Map session)
直接传入一个Map实例,将其中的kay-value转换成session的属性名和属性值Map setApplication(Map application)
直接传入一个Map实例,将Map实例中的key-value转换成属性名,属性值public class SimpleAction implements Action {
@Override
public String execute(){
ActionContext actionContext=ActionContext.getContext(); //获取实例化对象
//向request域中存放键值对
actionContext.put("name", "jack");
//获取request域中的name值
System.out.println(actionContext.get("name"));
//向session中存放键值对
actionContext.getSession().put("password", "123456");
//向application中存放键值对
actionContext.getApplication().put("a", "b");
return SUCCESS;
}
}
<h1>success</h1>
<h1>request域中的name:${requestScope.name}</h1>
<h1>session域中的password: ${sessionScope.password }</h1>
<h1>application域中的a: ${a }</h1>
ServletContextAware
实现该接口的Action可以直接访问用户请求的ServletContext实例ServletRequestAware
实现该接口的Action可以直接访问用户请求的HttpServletRequest实例ServletResponseAware
实现该接口的Action可以直接访问请求的HttpServletResponse实例HttpServletRequest
,HttpServletResponse
等对象,其功能比第一种更加强大,因此推荐使用这种方式获取Servlet APIPageContext getPageContext()
取得web应用的PageContext对象HttpServletResponse getResponse()
获取HttpServletResponse对象ServletContext getServletContext()
获取ServletContext对象public class SimpleAction implements Action {
@Override
public String execute(){
//获取Request域的对象
HttpServletRequest request=ServletActionContext.getRequest();
request.setAttribute("name", "jack");
//获取Session域的对象
HttpSession session=request.getSession();
session.setAttribute("password", "123456");
//获取Response的对象
HttpServletResponse response=ServletActionContext.getResponse();
return SUCCESS;
}
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。