Вы можете сделать это, используя сопоставления подстановочных знаков и , связывая ваши правила проверки с вашим классом одиночного действия:
сопоставления подстановочных знаков
В вашем Struts.xml определите действие следующим образом:
<action name="user-*" class="DoSomething" method="{1}" >
<result name="input">/WEB-INF/{1}.jsp</result>
<result name="success">/WEB-INF/{1}-success.jsp</result>
</action>
Затем вы можете вызвать класс действия DoSomething
с любым из этих двух URL:
http://yourapp.com/user-login.action
http://yourapp.com/user-details.action
В результате часть запроса после дефиса («логин» или «подробности») заменит {1}
в вашем определении действия.Поэтому первый URL будет вызывать метод DoSomething.login()
, перейдите к login.jsp на INPUT или login-success.jsp на SUCCESS.
Все, что вам нужно сделать, это определить login()
и details()
методы в DoSomething
классе.
Ассоциация правил проверки
Чтобы связать правила проверки с вашим классом действий DoSomething
, просто назовите XML-файл, содержащий их DoSomething-validation.xml .Поскольку и пользовательский логин, и пользовательские данные используют этот класс, правила будут выполняться для них обоих.