在Struts 2拦截器中获取HttpServletRequest

Ali*_*ahi 6 java jsp struts2

为了获得HttpServletRequest我在下面使用的代码中的拦截器:

HttpServletRequest request =(HttpServletRequest) ActionContext.getContext().get(HTTP_REQUEST);
Run Code Online (Sandbox Code Playgroud)

我试图ServletRequestAware在拦截器中实现,但它没有奏效.

有没有更好的方法进入HttpServletRequest拦截器?!

Rav*_*yal 9

您需要使用它ActionInvocation#getInvocationContext()来检索您的请求.

public String intercept(ActionInvocation invocation) throws Exception {
    ActionContext context = invocation.getInvocationContext();
    HttpServletRequest request = (HttpServletRequest) context.get(HTTP_REQUEST);
    // ...
}
Run Code Online (Sandbox Code Playgroud)


Rom*_*n C 5

您可以获得引用servletConfig拦截器的servlet内容.在调用此拦截器后,您可以从中获取servlet内容ServletActionContext.

HttpServletRequest request = ServletActionContext.getRequest();
Run Code Online (Sandbox Code Playgroud)