1

我必须在 Struts2 中的选定操作上使用加载栏,并且正在使用ServletActionContext,但正在获取NullPointerException.

ActionContext.getContext().get(org.apache.struts2.StrutsStatics.HTTP_REQUEST);

如果我execAndWait从 xml 配置文件中删除拦截器,它工作正常。

有人建议我使用SessionAware. 为什么这样 ?

有什么解决办法吗?

4

1 回答 1

1

当您通过拦截器ActionContext运行后台线程时ThreadLocal,它没有请求对象。execAndWait

如果您使用SessionAware,那么您应该在堆栈上有servletConfig拦截器,以便能够在执行操作之前将会话对象设置为您的操作。

解决方案:如果您可以ServletRequestAware将请求对象设置为操作并 在堆栈中servletConfig的拦截器之前使用拦截器。execAndWait如果您需要创建自定义堆栈,则应保持顺序。

于 2014-12-12T10:56:34.107 回答