struts2 действие class-1 class для (ajax) запроса? - PullRequest
1 голос
/ 15 января 2011

В моем веб-приложении Struts 2 есть несколько вкладок меню на веб-странице.Эти вкладки меню запускают действия Ajax при нажатии.Все эти действия сводятся к одному классу действий.Этот класс действия направляет запрос к вспомогательному классу.Вспомогательный класс имеет метод, который делает:
Если action = this, сделать это
Если action = that, сделать это
И т. Д. ... для каждого действия (т. Е. Для каждой вкладки).кто-то предлагает комментарии по этому дизайну ... это правильное использование распорок 2?Или у нас должны быть отдельные классы действий?Кроме того, какие-либо стандартные практики для вспомогательного класса? (Т.е. он должен быть статическим, одноэлементным, потокобезопасным и т. Д.)

1 Ответ

1 голос
/ 16 января 2011

Пара мыслей:

  • Нет ничего плохого в использовании класса Action для обработки нескольких действий struts2;struts2 позволяет вам направить конкретное действие на метод класса.Это может быть полезно, если сам класс является полезным организующим устройством.Например, у вас может быть виджет, который вы хотите создать, прочитать, обновить и т. Д., А не набор классов CreateWidgetAction, ReadWidgetAction и т. Д., Который вызовет много помех, лучше иметь класс WidgetAction сметоды create (), update () и т. д.Я предполагаю, что это не очень подходит для вашего случая, учитывая то, что вы описываете (разные вкладки меню), но вы, безусловно, можете это сделать.Меньше файлов для просмотра при сохранении кода.

  • Обратите внимание, что вам нужно будет сопоставить различные действия с этими различными методами, а также с различными JSP, которые отображают результаты.

  • Что касается вспомогательного класса, мой совет - поместить логику, связанную с view + controller, в класс (ы) Action, но оставить логику модели в других классах (возможно, в вашем вспомогательном классе).Если ваш вспомогательный класс вычисляет данные независимо от представления, это, безусловно, допустимо.Но если ваш вспомогательный класс просто готовит представление, поместите логику в само Действие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...