Struts 2: применение разных файлов проверки XML к одному методу действия

Я новичок в Struts 2 Framework и использовал файл проверки XML для проверки полей формы. Мой вопрос:

  • Как я могу применить разные файлы проверки XML к методам одного действия?

  • Я также хочу использовать один и тот же файл проверки XML для более чем одного метода действия.


person Abdessamad BOUTGAYOUT    schedule 21.05.2014    source источник


Ответы (1)


  • В: Как я могу применить разные файлы проверки XML к методам одного действия?

Вы можете создать файл проверки XML для каждого метода действия, используя соглашение об именовании псевдонимов действий (вместо класса действий по умолчанию).

Из документов:

Определение правил проверки

Правила проверки могут быть указаны:

  1. Класс Per Action: в файле с именем ActionName-validation.xml
  2. Псевдоним действия: в файле с именем ActionName-alias-validation.xml
  3. Иерархия наследования и интерфейсы, реализованные классом Action: XWork просматривает дерево наследования действия, чтобы найти проверки по умолчанию для родительских классов действия и реализованных интерфейсов.

[...]

В этом контексте «Псевдоним действия» относится к имени действия, указанному в конфигурации Struts. Часто атрибут name совпадает с именем метода, но они также могут отличаться.


  • В: Я также хочу использовать один и тот же файл проверки XML для нескольких методов действия.

Вы можете действовать разными способами. Имея в виду, что одно действие должно выполнять «одно действие» или около того, и что у вас не должно быть слишком много методов в одном действии, имейте в виду, что:

  1. Если вы проверяете пользовательский объект (или, например, их коллекцию) вместо нескольких отдельных полей в действии, вы можете использовать Visitor Validator. Вам потребуется поместить файл XML с ObjectClassName-validation.xml в папку объекта (не в папку действия), и он будет повторно использоваться каждым действием (или псевдонимом), проверяющим его.

  2. В противном случае вы могли бы возиться с иерархией, играя с расширением действия и добавляя метод на каждом уровне, создавая в конце несколько файлов проверки XML, но это будет излишним и в корне неправильным (было бы предпочтительнее создать несколько действий с одним методом на тот же уровень).

Затем придерживайтесь пути Псевдонима, пути Посетителя и старайтесь, чтобы ваши действия были небольшими...

person Andrea Ligios    schedule 21.05.2014