上文说了两种访问页面元素的方法,一种是直接访问,一种是多了一个实体类,接下来是通过RequestAware,SessionAware,ApplicationAware来访问的方法。
HelloStrutsDemo2.java
public class HelloStrutsDemo2 extends ActionSupport implements RequestAware,SessionAware,ApplicationAware {
private Map request;
private Map session;
private Map application;
@Override
public void setApplication(Map<String, Object> arg0) {
this.application=arg0;
}
@Override
public void setSession(Map<String, Object> arg0) {
this.session=arg0;
}
@Override
public void setRequest(Map<String, Object> arg0) {
this.request=arg0;
}
public String execute(){
session.put("sess","session1");
request.put("req", "request1");
application.put("app", "application1");
return "success";
}
}
在这里要分别为三个对象提供setter方法,以便让struts自动执行,使用IoC(控制反转)进行赋值。
所谓反转,就是由容器来帮忙创建及注入依赖对象,而不是我们自己在对象中主动控制去直接获取依赖对象。
关于IoC,学习于:
http://www.cnblogs.com/xdp-gacl/p/4249939.html
感谢。