如何获取ServletContext对象
精华
小牛编辑
181浏览
2023-03-14
在Struts2中,可以使用以下两种方法来获取ServletContext对象。
1. ServletActionContext
直接从 org.apache.struts2.ServletActionContext 获取 ServletContext 对象。
import javax.servlet.ServletContext; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; public class CustomerAction extends ActionSupport{ public String execute() throws Exception { ServletContext context = ServletActionContext.getServletContext(); return SUCCESS; } }
2. ServletContextAware
让你的类实现了org.apache.struts2.util.ServletContextAware接口。
当Struts2 的 “servlet-config”拦截器是看到了一个Action类实现ServletContextAwareinterface,它会通过一个ServletContext引用Action类通过setServletContext()方法请求。
import javax.servlet.ServletContext; import org.apache.struts2.util.ServletContextAware; import com.opensymphony.xwork2.ActionSupport; public class CustomerAction extends ActionSupport implements ServletContextAware{ ServletContext context; public String execute() throws Exception { return SUCCESS; } public void setServletContext(ServletContext context) { this.context = context; } }
参考
- Struts 2 ServletContextAware文档