1

я должен использовать полосу загрузки на выбранных действий в Struts2, & я использую servletActioncontext, Но получить NullPointer ExceptionПочему мы не можем использовать перехватчик execAndWait с помощью ServletActionContext?

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

Если я удалить execAndWait перехватчик из XML-файла, он отлично работает,

некоторые люди предложили мне использовать sessionAware, почему так?

Есть ли решение?

ответ

1

ActionContext: ThreadLocal и не имеет объекта запроса при запуске фоновой нити через перехватчик execAndWait. Если вы используете SessionAware, то у вас должен быть перехватчик servletConfig в стеке, чтобы можно было установить объект сеанса на свое действие до того, как действие будет выполнено. Решение: если вы можете получить ServletRequestAware, чтобы установить объект запроса в действие и использовать перехватчик servletConfig до перехватчика execAndWait в стеке. Если вам нужно создать собственный стек, вы должны сохранить заказ.

Смежные вопросы