struts2获得session,request,application等web元素

最常用的方法:利用IOC原理,让struts2自动给你注入web元素的实例

具体操作:可以在你要获取web元素的action类上实现RequestAware,SessionAware, ApplicationAware 这三个接口。并实现这三个接口的方法:setXXX,就可以调用动态注入web元素实例。

RequestAware为例它只有一个方法: void setRequest(Map<String,Object> request)

 

 具体实例:

public class LoginAction extends ActionSupport implements RequestAware, SessionAware, ApplicationAware { private String username; private String password; private Map<String, Object> request; private Map<String, Object> session; private Map<String, Object> application; @Override public String execute() throws Exception { if (username != null) { //此处并没有实例化session,注意。 session.put("username", getUsername()); return SUCCESS; } } return ERROR; } public void setRequest(Map<String, Object> arg0) { // TODO Auto-generated method stub this.request = arg0; } public void setSession(Map<String, Object> arg0) { // TODO Auto-generated method stub this.session = arg0; } public void setApplication(Map<String, Object> arg0) { // TODO Auto-generated method stub this.session = arg0; } }
 
 

 获取web元素还有其他若干种方法,此方法最常用且简单有效。不废话了。

 

你可能感兴趣的:(Web,IOC)