在struts2中的ActionContext相对于servlet中的servletRequst ,通过servletRequst访问session,application的方法为
ActionContext actionContext=ActionContext.getContext();其中actionContext相当与jsp页面中的request对象。
map session=actionContext.getSession();
actionContext.getApplication().get("propertyName");
actionContext.getApplication().put("propertyName","propertyValue");来设置application中的属性值
部分代码如下:
public String execute() throws Exception {
ActionContext act=ActionContext.getContext();
Integer counter=(Integer)act.getApplication().get("counter");
if(counter==null){
counter=1;
}else{
counter++;
}
act.getApplication().put("counter", counter);
Map session=act.getSession();
session.put("user", this.getUsername());
if(this.getUsername().equals("lzhq")&&this.getPassword().equals("123")){
act.put("tip", "login successs");
return SUCCESS;
}else{
act.put("tip", "login fail");
return ERROR;
}
}
在jsp页面显示application,request,session中保存的属性
in servletContext
${applicationScope.counter }<br/>
in session
${sessionScope.user }<br/>
in servletRequest
${requestScope.tip }<br/>
struts2可以脱离web容器直接访问servletAPI,简单的进行单元测试。