So erhalten Sie den ServletContext in Struts 2
In Struts 2 können Sie die folgenden zwei Methoden verwenden, um dasServletContext-Objekt abzurufen.
1. ServletActionContext
Ruft das ServletContext-Objekt direkt vonorg.apache.struts2.ServletActionContext ab.
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
Stellen Sie sicher, dass Ihre Klasse dieorg.apache.struts2.util.ServletContextAware-Schnittstelle implementiert.
Wenn der Interceptor von Struts 2 'servlet-config erkennt, dass eine Action-Klasse in derServletContextAware-Schnittstelle implementiert ist, übergibt er über diesetServletContext()-Methode einenServletContext-Referenz auf die angeforderte Action-Klasse .
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; } }