为了使我们的struts2的action和具体的web容器无关,我们通常会定义一个BaseAction来操作request和session,其他所有的action类都继承它。
package com.lk.action;
import java.util.HashMap;
import java.util.Map;
import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.SessionAware;
import com.opensymphony.xwork2.ActionSupport;
public class BaseAction extends ActionSupport implements SessionAware, RequestAware {
private static final long serialVersionUID = -7114309242057835186L;
private Map<String, Object> request = new HashMap<String, Object>();
private Map<String, Object> session = new HashMap<String, Object>();
@Override
public void setRequest(Map<String, Object> request) {
this.request = request;
}
@Override
public void setSession(Map<String, Object> session) {
this.session = session;
}
public void setSession(String key, Object value) {
this.session.put(key, value);
}
public Object getSession(String key) {
if(this.session.containsKey(key)) {
return this.session.get(key);
}
return null;
}
public void setAttribute(String key, Object value) {
this.request.put(key, value);
}
public Object getAttribute(String key) {
if(this.request.containsKey(key)) {
return this.request.get(key);
}
return null;
}
}
浙公网安备 33010602011771号