10.Action类接收参数(注入的ServletAPI )
运行时由Struts2注入原生ServletAPI对象:
. 由Struts2注入原生HttpServletRequest对像,必须实现 ServletRequestAware接口并实现接口中的方法
public void setServletRequest(HttpServletRequest request);
. ServletRequestAware 接口中只有一个方法: public void setServletRequest(HttpServletRequest request);
//该方法是在struts2运行时调用,用于向实现它的类中注入request对象
ServletRequestAware – 用于注入原生HttpServletRequest对像
ServletResponseAware-用于注入原生HttpServletResponse对像
ServletContextAware-用于注入原生ServletContext对像。
public class DIAction implements ServletRequestAware,ServletContextAware{ private HttpServletRequest req; //先声明成员变量 private HttpServlseContext context; //只要实现了RequestAware,struts2在运行时就会调用此方法设置request对象 public void setServletRequest(HttpServletRequest request) { this.req=request; } public void setServletContext(ServletContext context) { this.context=context; } public String execute(){ String name = req.getParameter("name"); req.setAttribute("name", "用户名:"+name); return "success"; } }