我必须在 Struts2 中的选定操作上使用加载栏,并且正在使用ServletActionContext,但正在获取NullPointerException.
ActionContext.getContext().get(org.apache.struts2.StrutsStatics.HTTP_REQUEST);
如果我execAndWait从 xml 配置文件中删除拦截器,它工作正常。
有人建议我使用SessionAware. 为什么这样 ?
有什么解决办法吗?
我必须在 Struts2 中的选定操作上使用加载栏,并且正在使用ServletActionContext,但正在获取NullPointerException.
ActionContext.getContext().get(org.apache.struts2.StrutsStatics.HTTP_REQUEST);
如果我execAndWait从 xml 配置文件中删除拦截器,它工作正常。
有人建议我使用SessionAware. 为什么这样 ?
有什么解决办法吗?
当您通过拦截器ActionContext运行后台线程时ThreadLocal,它没有请求对象。execAndWait
如果您使用SessionAware,那么您应该在堆栈上有servletConfig拦截器,以便能够在执行操作之前将会话对象设置为您的操作。
解决方案:如果您可以ServletRequestAware将请求对象设置为操作并 在堆栈中servletConfig的拦截器之前使用拦截器。execAndWait如果您需要创建自定义堆栈,则应保持顺序。