Comment obtenir le HttpServletRequest dans Struts 2
Dans Struts 2, vous pouvez utiliser les deux méthodes suivantes pour obtenir l'objetHttpServletRequest.
1. ServletActionContext
Obtenez l'objet HttpServletRequest directement à partir deorg.apache.struts2.ServletActionContext.
import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; public class LocaleAction{ //business logic public String execute() { HttpServletRequest request = ServletActionContext.getRequest(); return "SUCCESS"; } }
2. ServletRequestAware
Faites en sorte que votre classe implémente lesorg.apache.struts2.interceptor.ServletRequestAware.
Lorsque l'intercepteur Struts 2 'servlet-config' voit qu'une classe Action est implémentée dans l'interfaceServletRequestAware, il passera une référenceHttpServletRequest à la classe Action demandée via la méthodesetServletRequest() .
import javax.servlet.http.HttpServletRequest; import org.apache.struts2.interceptor.ServletRequestAware; public class LocaleAction implements ServletRequestAware{ HttpServletRequest request; //business logic public String execute() { String param = getServletRequest().getParameter("param"); return "SUCCESS"; } public void setServletRequest(HttpServletRequest request) { this.request = request; } public HttpServletRequest getServletRequest() { return this.request; } }
La documentation Struts 2 est recommandéeServletRequestAware au lieu deServletActionContext.