So erhalten Sie den ServletContext in Struts 2

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