Обработка, представленная на сервер, обычно может быть разделена на два этапа. На первом этапе задается статус сервера (запрашивает или обновляет базу данных), а второй этап выбирает подходящую страницу результатов и возвращает его пользователю (содержание результата, которое будет обсуждаться здесь).
Struts2 обеспечивает поддержку различных видов результатов возврата, общие включают JSP, Freemarker, скорость и т. Д.
Различные типы результатов возврата, поддерживаемые Struts2:
| имя | иллюстрировать |
|---|---|
| Результаты цепи | Используется для обработки цепочек действий |
| Результаты диспетчера | Используется для обращения к страницам, обычно обрабатывает JSP |
| Результаты Freemarker | Обработка шаблонов Freemarker |
| Результаты httphader | Используется для контроля специального поведения HTTP |
| Перенаправить результат | Перенаправить на URL |
| Перенаправить результаты действия | Перенаправить на действие |
| Результаты потока | Отправить объект inputsReam в браузер, обычно используемый для обработки загрузки файлов |
| Результаты скорости | Руководители шаблоны скорости |
| Результаты XLS | Процесс XML/XLST шаблоны |
| Результат открытого текста | Отображать исходный содержимое файла, например, исходный код файла |
| S2Plugins: плитка результат | Использовать в сочетании с плитой |
Кроме того, сторонний тип результата также включает в себя плагин JasperReports, который специально используется для обработки выводов отчета типа JasperReport.
Уже есть определения для всех типов результатов в файле struts-default.xml:
<Slust-types> <name-type name = "chain" class = "com.opensymphony.xwork2.actionChainresult"/> <result-type name = "dispatcher" class = "org.apache.struts2.dispatcher.servletdispatcherresult" default = "true"/> <reculet-type name = "freemarker" class = "org.apache.struts2.views.freemarker.freemarkerresult"/> <result-type name = "httphader" class = "org.apache.structs2.dispatcher.httpheaderresult"/> <reculet-type name = "redirect" class = "org.apache.structs2.dispatcher.servletredirectult"/> <result-type name = "redirectaction" class = "org.apache.structs2.dispatcher.servletactionredirectult"/> <result-type name = "stream" class = "org.apache.structs2.dispatcher.streamresult"/> <result-type name = "velocity" class = "org.apache.struts2.dispatcher.velocityresult"/> <result-type name = "xslt" class = "org.apache.struts2.views.xslt name = "plaintext" class = "org.apache.struts2.dispatcher.plaintextresult" /> <!- Удовлетворенная форма имени, запланированная для удаления в стойках 2.1.0. Версии Camelcase предпочтительнее. См. WW-1707-> <result-type name = "redirect-action" class = "org.apache.structs2.dispatcher.servletactionredirectult"/> <result-type = "plantext" class = "org.apache.struts2.dispatcher.plaintextresult"/> </result-types>
Из приведенного выше кода мы видим, что когда тип результата не указан, он используется.
Определить значение результата,
<Результат name = "Success" type = "Dispatcher"> <param name = "location">/спасибо.
Поскольку значение типа по умолчанию является диспетчером, здесь нет необходимости определять его здесь. Кроме того, значение по умолчанию имени является успехом, поэтому нет необходимости определять его здесь.
Приведенный выше код может быть сокращен как:
<result> <param name = "location">/спасибо
Кроме того, параметры местоположения также могут быть непосредственно удалены из тега результата, поэтому самый простой способ написать приведенный выше код:
<Результат>/thankyou.jsp </result>
Мы также можем определить несколько разных результатов
<name Action = "hello"> <result>/Hhello/result.jsp </result> <name = "error">/hello/error.jsp </result> <name = "input">/hello/input.jsp </result> </action>
Значение приведенного выше кода заключается в том, что действие с именем Hello имеет три возврата, и все они являются типами диспетчеров (тип по умолчанию). Имена этих трех возвращаемых значений - успех (значение по умолчанию), ошибка и вход. Соответствующие пути страницы - /Hhello/result.jsp, /Hello/error.jsp и /Hello/input.jsp.
Иногда нам нужен определенный глобальный результат. В настоящее время мы можем определить глобальный результат внутри пакета, например:
<slobal-results> <name = "error">/error.jsp </result> <name = "name =" vangilid.token ">/error.jsp </result> <name =" login "type =" redirect-action "> logon! </result> </global-results>
Динамически возвращают результаты
Иногда мы знаем, какой результат возвращается, когда действие выполняет полный BI. В настоящее время мы можем определить свойство внутри действия, которое используется для хранения значения результата после того, как действие выполняет полную BI, например:
Private String NextAction; public String getNextAction () {return NextAction;} В файле конфигурации strutx.xml мы можем использовать $ {nextAction} для ссылки на свойства в действии и динамически вернуть результат через содержимое, представленное $ {nextAction}, например:
<name Action = "fragment"> <name = "nele =" next "type =" redirect-action "> $ {nextAction} </result> </action> Когда метод выполнения вышеупомянутого действия возвращается дальше, также необходимо определить, какое действие расположено на основе свойств NextAction.
Если вы хотите пересылать еще одно действие, вы можете установить тип = цепочка, и результат не будет добавлен в SHTML.
Выше приведено подробное объяснение параметров результатов Struts2. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.