Зачем нам нужен готовый интерфейс в Struts2? - PullRequest
7 голосов
/ 14 февраля 2012

У нас есть Interceptor, у нас есть специальный перехватчик, где мы можем делать все, что хотим, до или после выполнения нашего действия.Тогда зачем использовать интерфейс Preparable и реализовывать для него метод подготовки?Это еще один вариант или есть какая-то конкретная цель сделать это?

Ответы [ 2 ]

8 голосов
/ 14 февраля 2012

Интерфейс Well Preparable действует совместно с Prepare Interceptor. Этот интерфейс имеет один определенный метод prepare(), и, как следует из его названия, этот метод отвечает за то, чтобы позволить действию подготовиться самому.

Подготовка вызовов перехватчика prepare() о действиях, которые реализуют Preparable.Этот перехватчик очень полезен в любой ситуации, когда вам нужно убедиться, что некоторая логика запускается до запуска фактического метода execute. Так что, если вы видите, что это что-то вроде init для вашего класса действия, и он проверяет, что перед выполнением Action или любым другимдругой метод вызывается, этот метод подготавливает ваш метод execute к нормальной работе.

Если вы увидите определение default-stack в ядре, вы узнаете, что этот перехватчик вызывается до params или перехватчика рабочего процессачто указывает на его назначение.

Типичное использование этого - запустить некоторую логику для загрузки объекта из базы данных, чтобы при задании параметров их можно было установить для этого объекта.Подробнее см. В документе «Подготовка перехватчика», чтобы узнать, как он работает в тесном контакте с интерфейсом «Препарабель». Короче говоря, «Подготовка» перехватчика вступит в действие только тогда, когда действие реализует «Препарабель».

Подготовка-перехватчик

0 голосов
/ 22 июля 2015

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

...