Рабочий процесс Struts Interceptor - PullRequest
0 голосов
/ 03 февраля 2012

В Struts2, если мы определили стек перехватчиков, и он вызывается в порядке «первым пришел - первым вышел».Итак, на этапе постобработки, что произошло, если один из более ранних перехватчиков вернул управляющую строку, которая в результате выдает ответ клиенту.Я хочу знать, будет ли обработан левый перехватчик или нет.

1 Ответ

1 голос
/ 03 февраля 2012

Ну, это будет работать так.

Ваш метод действия будет вызываться только после полного вызова стека перехватчиков. Это означает, что, как только первый перехватчик был успешно вызван в стек, он вызовет следующий перехватчик, определенный в стеке, и ссылка будет сохранена в стеке. эта цепочка будет продолжать вызывать до тех пор, пока последний перехватчик в стеке не будет вызван

invocation.invoke()

этот вызов - ключ для вызова следующего перехватчика, определенного в стеке, или последний, который вызовет нужную функцию в вашем классе действий.

теперь в другом случае предположим, что некоторые из перехватчиков потерпели неудачу, скажем, workflow, он вернет результат как INPUT и остановит дальнейшее выполнение перехватчика, и инфраструктура выдаст желаемую JSP / Tempelate пользователю. *

Чем последует постобработка / очистка, в этом случае перехватчики будут вызываться в обратном порядке, т. Е. Самый верхний или последний выполненный перехватчик будет вызываться первым, а den и так далее.

Идея этой постобработки заключается в выполнении любой работы по очистке или любых других действий, которые необходимо выполнить (например, очистка ресурсов и т. Д.)

Надеюсь, это даст вам некоторое представление.

...