Session的使用方法
在Struts2中Session可以有SessionMap和HttpSession两种类型。
- 使用Map结构的session对象
Map<String,Object> session =
ActionContext.getContext().getSession();
public class SessionMap extends AbstractMap{
private HttpSession httpSession;
public SessionMap(HttpServletRequest request){
httpSession = request.getSession();
}
public void put(Object key,Object value){
httpSession.setAttribute(key.toString(),value);
}
public Object get(Object key){
return httpSession.getAttribute(key.toString());
}
}
- 使用HttpSession对象
HttpSession session =
ServletActionContext.getRequest().getSession();
- 使用SessionAware接口(Action使用时推荐此方法)
public class BaseAction implements SessionAware{
Map<String,Object> session;
//当创建Action对象时自动执行,到时会将底层session注入
public void setSession(Map<String, Object> session) {
this.session = session;
}
}