Можно сделать что-то по-другому, но допустим, вы позволяете struts2 обрабатывать все запросы. Все, что обрабатывает struts2, является «действием».
Не беспокойтесь о GET или POST, это просто два разных метода отправки данных в действие, если есть параметры (независимо от того, получены они или установлены), то struts2 попытается поместить эти данные в класс действий ( при условии, что есть один). Если существует метод проверки (или файл XML проверки правильности с именем), проверка будет запущена после установки свойств класса. Затем вызывается метод execute () для класса (при условии, что класс есть). После этого обычно создается jsp, который имеет в своем распоряжении все общедоступные данные в методе действия.
Выполните действие "showForm" ... вы можете уменьшить xml до:
<action name="showForm">
<result>inputForm.jsp</result>
</action>
Вы видите, что вам не нужно определять класс. Кроме того, результатом по умолчанию является успех, поэтому нам не нужно упоминать об этом.
Так что, думая о hmtl, мы думаем в терминах страниц. Размышляя в стойках, мы думаем с точки зрения действий, они должны быть настолько сложными, насколько это необходимо. То есть, если вам нужно показать форму, вам нужно действие показа формы, если вам нужна страница отображения, которая использует данные формы, тогда вам нужно действие «displayPage», которое что-то делает с данными формы.
Так что думайте, что каждое действие начинается с URL> -----------> и заканчивается датой возврата (обычно это рендеринг jsp). Тире - это дополнительные части, которые вы можете определить, но если вы этого не сделаете, они будут разумно по умолчанию для вас. Чтобы увидеть, какие функции предоставляются вам, вам нужно заглянуть в struts2-core-x.x.x.x.jar и просмотреть содержимое struts-default.xml, в котором определен defaultStack. Каждый перехватчик, в свою очередь, называется, зная, что они предлагают (и другие перехватчики предлагают), чтобы вы знали, что вы получаете из коробки (я бы не стал изучать их слишком глубоко, просто знаю, что они есть, так что вы будете знать, например что если вам нужно загрузить файл, тот простой факт, что перехватчик fileUpload находится в стеке по умолчанию, должен быть достаточным признаком того, что должны быть встроены возможности загрузки файлов.
То есть, нет никакого «ложного действия» в форме ввода. Это реальное действие, простое. После того, как вы узнаете, как определять пакеты, действия, действия по умолчанию для пакета и, возможно, глобально, и узнаете, как определить перехватчик, вам следует взглянуть на плагин соглашений. Это делает жизнь намного проще!