struts中访问servlet API的方法

在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,简单的进行单元测试。

原文地址:https://www.cnblogs.com/moonfans/p/3015735.html