The framework provides several access helpers to access Session, Application, Request scopes.
框架提供了多种访问Session,Application和Request范围内值的帮助器。
Web agnostic (independent of the servlet API) with a single line of code.
Web agnostic (独立于Servlet API)用一个简单的代码。
Map session = (Map) ActionContext.getContext().get("session");
session.put("myId",myProp);
ServletActionContext.getRequest().getSession()
|
Do not use ActionContext.getContext() in the constructor of your Action class. The values may not be set up, and the call may return null for getSession().
别在Action的构造函数里用ActionContext.getContext(),那个值可能没有建立,可能返回null。
|
If you must have get access to the HttpSession, use the ServletConfigInterceptor (see test:Interceptors).
如果你必须访问HttpSession,用ServletConfigInterceptor。
In your views, you can access with your JavaServer Pages with calls to the implicit properties session and request.
下面展示了在jsp中如果和访问session和request
<saf: property value="#session.myId" />
<saf: property value="#request.myId" />
All the servlet scopes can be accessed via the ActionContext.
下面展示了在servlet范围如何通过ActonContext访问:
Map request = (Map) ActionContext.getContext().get("request");
request.put("myId",myProp);
Map application = (Map) ActionContext.getContext().get("application");
application.put("myId",myProp);
Map session = (Map) ActionContext.getContext().get("session");
session.put("myId", myProp);
Map attr = (Map) ActionContext.getContext().get("attr");
attr.put("myId",myProp);
The attr map will search the javax.servlet.jsp.PageContext for the specified key. If the PageContext doean't exist, it will search request}, {{session, and application respectively.