Comment obtenir le ServletContext dans Struts 2

Comment obtenir le ServletContext dans Struts 2

Dans Struts 2, vous pouvez utiliser les deux méthodes suivantes pour obtenir l'objetServletContext.

1. ServletActionContext

Obtenez l'objet ServletContext directement à partir deorg.apache.struts2.ServletActionContext.

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

Faites en sorte que votre classe implémente l'interfaceorg.apache.struts2.util.ServletContextAware.

Lorsque l'intercepteur Struts 2 'servlet-config' voit qu'une classe Action est implémentée dans l'interfaceServletContextAware, il passera une référenceServletContext à la classe Action demandée via la méthodesetServletContext() .

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