Я реализую некоторые вещи в своем приложении на базе Struts с использованием перехватчиков, и меня смущает, как работает их жизненный цикл.Согласно документации Struts ( «Перехватчики» , «Запись перехватчиков» и «Большая картинка» ), она должна работать примерно так:
FirstInterceptor
NextInterceptor
LastInterceptor
Action
Result
LastInterceptor
NextInterceptor
FirstInterceptor
, что имеет смысл, но я спотыкаюсь о том, как отличить вызов перехватчика, выполняемый перед действием, от вызова, выполняемого после рендеринга результата (здесь я пропускаю PreResultListener
s). Если я запускаю отладчик, я получаю два звонка на intercept()
и не могу найти ничего слишком очевидного на ActionInvocation
, который я передаю. ( Обновление : Эта часть была большой путаницей с моей стороны, и я смог ответить на мой вопрос ниже, как только я его получил)
Страница «Большая картина» говорит несколько смущающе"до" и "после" "предложения", которые вызываются, но я не знаю, что с этим делать:
[...]
Это включает в себяВызов любых перехватчиков (предложение before) перед вызовом самого действия.
[...]
Перехватчики выполняются снова (в обратном порядке, вызывая предложение after).
[...]
( Обновление : хотя эти два предложения все еще плохие)