Рекомендуется ли сопоставлять несколько действий одним и тем же классам 2.3
Я разрабатываю менеджер контактов в распорках с опциями (добавить, удалить, изменить, распечатать).
Я думаю, чтобы сопоставить несколько действий (сопоставить несколько действий для одного и того же класса классов 2.3) к одному и тому же классу (ContactManager
).
Я хочу знать, правильно ли это или нужно ли писать отдельное действие для каждого действия?
2 ответа
Один хороший способ, imho, - это использовать одно Действие для каждого действия, которое вы должны выполнить, каждое из которых продлевает свои последние разветвленные родительские Действия, например:
BaseAction
|
|----------BaseReportAction
| |----- ExcelReportAction
| |----- PDFReportAction
| |----- CSVReportAction
|
|
|----------BaseCRUDAction
| |----- CreateAction
| |----- ReadAction
| |----- UpdateAction
| |----- DeleteAction
|
|
|----------BaseAJAXAction
| |----- ReadSessionCountdownAction
| |----- CheckNewMailsAction
|
так далее...
Каждое действие, продленное другими, поделится protected
атрибуты / методы для детей.
Взгляните на это: изменение параметров после связывания в Struts 2
Мои 2 цента.
Я думаю, что вы должны использовать одно действие. Это хорошая практика, ведь они предоставили возможность вызывать разные методы в одном классе Action для определенной цели! Вы можете достичь чего-то подобного, включив подстановочный знак, который может сопоставить имя вашего действия с соответствующим методом в классе Action.
<action name="abc*" method="{1}" />