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;
}
}