ServletActionContext getAction方法返回null

时间:2017-03-28 14:55:53

标签: java struts-1

我正在使用servlet过滤器,我正在尝试获取与当前请求相关联的操作。

我的过滤器的相关部分:

private ServletContext context;

public void init(FilterConfig config) throws ServletException {
    this.context = config.getServletContext();
}

protected void doFilter(HttpServletRequest request, HttpServletResponse response,
        FilterChain chain) throws IOException, ServletException {

    ServletActionContext actionContext = new ServletActionContext(context, request, response);

    Action action = actionContext.getAction();
    // action == null

}

我的问题是action最终为空。两个上下文变量都填充了一个值,但由于某种原因它无法找到该操作。有任何想法吗?谢谢!

1 个答案:

答案 0 :(得分:1)

初始化

ServletActionContext,当控制传递给ActionServlet时,所有必需变量都被正确填充。

过滤器在ActionServlet之前执行,而过滤器方法中的Creating对象不设置Action

这是主要原因,因为ServletActionContext的一些getter方法返回null值,因为它没有通过ActionServlet,因此所有属性都没有初始化。