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