写一个基类的 BaseAction
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.dispatcher.SessionMap;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class BaseAction extends ActionSupport implements SessionAware, ServletRequestAware, ServletResponseAware {
private static final long serialVersionUID = 7620009925942346125L;
ActionContext context = ActionContext.getContext();
HttpServletRequest request;
HttpServletResponse response;
SessionMap session;
public void setSession(Map map) {
this.session = (SessionMap) map;
}
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
}
然后 在写一个对应的action类 继承这个基类就可以获取request response session
例如
public class LogAction extends BaseAction
{
public String execute() throws Exception{
String userno = request.getParameter("userno");
String userpsw = request.getParameter("userpsw");
UserService userservice = new UserService();
User user = userservice.checkUser(userno, userpsw);
if (user!=null) {
session.put("user",userno);
return "Success";
}
else {
return "Login";
}
}
}