Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Webwork provides several access helpers to access Session, Application, Request scopes.
Web agnostic (independent of the servlet API) with calls:

Code Block
Map session = (Map) ActionContext.getContext().get("session");
session.put("myId",myProp);

The following gives you the same thing as above:

Code Block
ServletActionContext.getRequest().getSession()

Note: Be sure not to use ActionContext.getContext() in the constructor of your action since the values may not be set up already (returning null for getSession()).
Note also: ActionContext.getContext().get("session") is the same as
ActionContext.getContext().getSession() with a cast to Map.

If you really need to get access to the HttpSession, use the ServletConfigInterceptor (see Interceptors).

In your views, you can access with your jsps as such

Code Block
<ww: property value="#session.myId" />

<ww: property value="#request.myId" />

All the servlet scopes can be accessed like above.

Code Block
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("attr");
attr.put("myId",myProp);

The 'attr' map will search the javax.servlet.jsp.PageContext for the specified key. If the PageContext dosen't exist, it will search request,session,application maps respectively.