gpt4 book ai didi

java - 为什么我们不能使用 ServletActionContext 来使用 execAndWait 拦截器?

转载 作者:太空宇宙 更新时间:2023-11-04 06:20:49 25 4
gpt4 key购买 nike

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

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

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

有些人建议我使用SessionAware。为什么会这样?

有什么解决办法吗?

最佳答案

ActionContextThreadLocal,当您通过 execAndWait interceptor 运行后台线程时,它没有请求对象。 .

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

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

关于java - 为什么我们不能使用 ServletActionContext 来使用 execAndWait 拦截器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27441738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com