Как создать несколько действий в Struts2 в одном классе действий? Просьба привести пример? Я нашел следующий код при поиске в Интернете, но он дает ошибки ИЛИ Нужно ли писать отдельный класс действия для каждого запроса?Создать несколько действий в Struts2
ответ
Помимо того, что @Quaternion сказал, действия S2 сами по себе являются java-классом, и я не уверен, что вы просите (несколько действий в Struts2 в одном классе действий).
У нас есть несколько способов, чтобы использовать один класс действий S2 вот несколько из них
Карты одного класса действий с другим псевдонимом, как.
<action name="A" class="MyActionClass">
<result type="redirectAction">Menu</result>
<result name="input">/Logon.jsp</result>
</action>
<action name="B" class="MyActionClass">
<result type="redirectAction">Menu</result>
<result name="input">/Logon.jsp</result>
</action>
Но я верю, что вы хотите нанести на карту различные запросы действий к различным методам действий. S2 предоставляет способ определения любого количества методов, и мы можем сказать, что S2 вызывает метод, по которому класс действия из UI.
для например, скажем, у нас есть класс UserAction, который отвечает за обработку взаимодействия с пользователем, как
- Войти
- Выход
- Регистрация
для этого нам не нужно создавать разные Классы действий, но мы можем создать один класс действий, например UserAction, и можем определить различные методы в его стороне и настроить S2 для вызова разных методов, таких как
<action name="Logon" class="UserAction" method="logon">
<result type="redirectAction">Menu</result>
<result name="input">/Logon.jsp</result>
</action>
<action name="Logout" class="UserAction" method="logout">
<result type="redirectAction">Menu</result>
<result name="input">/Logon.jsp</result>
</action>
<action name="Register" class="tUserAction" methood="register">
<result type="redirectAction">Menu</result>
<result name="input">/Logon.jsp</result>
</action>
Надеется, что это может помочь вам очистить ваши сомнения
В случае использования выше MyActionClass
было сопоставлено с два псевдонимом А и В, и вы можете отобразить на любой номер.
Другой метод:
Вот класс действие с 3 действий (выполнение, ДЕЙСТВИЙ1, Мотор2)
public class MyAction extends ActionSupport{
public String execute(){
return SUCCESS;
}
public String action1(){
return SUCCESS;
}
public String action2(){
return SUCCESS;
}
}
Вот конфиг:
<action name="myAction" class="MyAction">
<result>showMe.jsp</result>
<result name="input">showMe.jsp</result>
</action>
Действие "выполнить" будет вызываться по умолчанию. Чтобы вызвать действие «action1» или «action2», вы должны поместить параметр в свой запрос с именем «method: action1» или «method: action2».
- действие вызова по умолчанию (выполнить): /path_to_action/myAction.action
- Вызов действие1: /path_to_action/myAction.action?method:action1
- Вызов action2:/path_to_action/myAction.action?Метод: action2
Вы можете изменить метод по умолчанию:
<action name="myAction" class="MyAction" method="action1">
<result>showMe.jsp</result>
<result name="input">showMe.jsp</result>
</action>
Таким образом, когда ваш звонок /path_to_action/myAction.action, действие1 будет выполнена.
У меня есть вопрос, что вы хотите написать несколько переадресаций в одном действии на основе действия, выбранного как добавление/редактирование/удаление кода в одном месте. Вы должны искать DispatchAction для вашего требования.
Ниже приведено несколько примеров, на которых вы можете посмотреть, все из них предоставляют способ реализации DispatchAction.
Это если вы используете Struts1 в то время как OP специально прокомментировал Struts2. – Naros
Спасибо за указание, что crancran. Вы можете добавить свою собственную версию ответа. –
- 1. Создайте несколько методов в одном классе действий в Struts2?
- 2. Понимание действий Struts2 лучше
- 3. Названия динамических действий Struts2
- 4. Struts2 отображение действий проблема
- 5. Struts2 - Конфигурация класса действий
- 6. Обработка сотен действий в Struts2
- 7. Создать несколько кнопок в панели действий
- 8. Что касается сопоставления действий в Struts2 - Нет действий, сопоставленных
- 9. struts2 получить значение флажка в классе действий
- 10. POJO как классы действий в struts2
- 11. Флажки Struts2, возвращающие значения в классе действий
- 12. Проверка некоторых действий Action в Struts2
- 13. Чтобы создать несколько действий или нет?
- 14. Struts2 ActionContext и Response для цепочки действий
- 15. Struts2: несколько кнопок отправки
- 16. Несколько параметров в URL Struts2
- 17. Struts2 Version 2.0.x обработка неизвестных действий
- 18. Struts2 форма для отображения полех действий автоматически
- 19. Результаты сопоставления действий Struts2 при ошибке 404
- 20. Попытка создать таблицу в Struts2 из ArrayList
- 21. Несколько действий в контроллере
- 22. Несколько действий в Android
- 23. Создать плагин Struts2
- 24. QR-код - несколько действий
- 25. Несколько форм действий
- 26. Изменить атрибут действия формы для различных методов действий в Struts2
- 27. Несколько действий = установлено несколько приложений.
- 28. Как создать несколько действий для одной кнопки в другом событии?
- 29. Doc не удалось создать несколько действий в одиночном режиме
- 30. Идентификатор и значение флажка в классе действий в Struts2
Какой код вы пробовали? Вы посмотрели сайт Apache Struts? Вы можете повторно использовать класс действия между несколькими действиями, просто предоставляя разные сопоставления, и эти сопоставления могут опционально определять методы, отличные от стандартного «выполнить», если подпись приемлема. – Quaternion
Активный этот тип вопроса здесь: http://stackoverflow.com/a/16505496/1490962 –