在后台获取request,session和application等信息,并且向里面添加信息后再页面进行读取,实现方法有:
一、使用在action声明各种类型,这种方法使用actionContext来获得,并且在actionContext中获得的值都是Map类型的。
package com.thridProject.action;
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class WebProperty extends ActionSupport{
private Map request;
private Map session;
private Map application;
public WebProperty(){
request = (Map)ActionContext.getContext().get("request");
session = (Map)ActionContext.getContext().getSession();
application = (Map)ActionContext.getContext().getApplication();
}
public String execute(){
request.put("a", 1);
session.put("b", 2);
application.put("c", 4);
return SUCCESS;
}
}
二、第二种方法是实现struts提供的接口来实现,如代码:
package com.thridProject.action;
import java.util.Map;
import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.SessionAware;
import com.opensymphony.xwork2.ActionSupport;
public class WebProperty extends ActionSupport implements RequestAware,SessionAware,ApplicationAware{
/**
* author 张春蕾
*/
private static final long serialVersionUID = -6256871248108647470L;
private Map<String,Object> request;
private Map<String,Object> session;
private Map<String,Object> application;
public void setRequest(Map<String,Object> request){
this.request = request;
}
public void setSession(Map<String, Object> session) {
this.session = session;
}
public void setApplication(Map<String, Object> application) {
this.application = application;
}
public String execute(){
request.put("a", 1);
session.put("b", 2);
application.put("c", 4);
return SUCCESS;
}
}
第二种为最常用的方法。
三、第三种方法是使用import org.apache.struts2.ServletActionContext来得到request,可以通过查看
request = ServletActionContext.getRequest();
四、实现了ServletRequestAware接口,使用依赖注入。
对于前两种得到的是Map类型的值,而且后两种得到的真实值。