package com.action;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;
//第二种方法
public class UserAction implements ServletRequestAware,ServletResponseAware,SessionAware{
private String name;
private HttpServletRequest request;
private HttpServletResponse response;
//struts2对session进行了封装,Map格式
private Map<String, Object> session;
public String listUser(){
System.out.println(session.get("name").toString());
return "success";
}
//
public String addUser(){
//第一种获得原始的request,response,session
HttpServletRequest request=ServletActionContext.getRequest();
HttpServletResponse response=ServletActionContext.getResponse();
HttpSession session=request.getSession();
String name=request.getParameter("name");
System.out.println(response);
System.out.println("name="+name);
//session.put("name", name);
session.setAttribute("name", name);
return "succecs";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void setServletRequest(HttpServletRequest request) {
this.request=request;
}
public void setServletResponse(HttpServletResponse response) {
this.response=response;
}
public void setSession(Map<String, Object> session) {
this.session=session;
}
//说明:一共有两种方法获得,通常用的是第二种!!
//第一种,addUser()方法里面的。
//第二种,实现接口public class UserAction implements ServletRequestAware,ServletResponseAware,SessionAware{
重写接口抽象方法
public void setServletRequest(HttpServletRequest request) {
this.request=request;
}
public void setServletResponse(HttpServletResponse response) {
this.response=response;
}
public void setSession(Map<String, Object> session) {
this.session=session;
}
}将个个request response session 返回到全局变量,搞定!!