1. Каждый метод действия возвращает значение типа String. Значение, возвращаемое Struts в запросе, определяется этим значением.
2. В файле конфигурации конфигурация каждого элемента действия должна иметь элемент результата, и каждый результат соответствует возвращаемому значению действия.
3. Результат имеет два атрибута:
name: имя результата, которое совпадает с возвращаемым значением в действии. Значение по умолчанию — успех;
тип: тип результата ответа, значение по умолчанию — диспетчер.
Найдите ниже файл struts-default.xml, как показано ниже:
проиллюстрировать:
1. Из вышеизложенного видно, что всего существует 10 типов.
2. Типом по умолчанию является ServletDispatcherResult, который обеспечивает пересылку.
3. Тип результата может быть любым из этих 10 типов результатов.
Тип диспетчера (1), описаниеТип Dispatcher является наиболее часто используемым типом результата, а также типом результата по умолчанию для платформы Struts.
(2), ПримерСсылка на страницу:/manager/index.jsp
Ссылка на действие: AdminAction
Файл конфигурации: struts.xml
В файле конфигурации есть два способа записи:
На следующем рисунке показано происхождение местоположения:
Посмотреть исходный код:
Редирект — это перенаправление. Если используется тип перенаправления, значение в области reuqest не может быть передано в службу регистрации.
тип redirectAction (1), описание1. Перенаправьте тип результата на действие
2. Можно принять два параметра.
а)actionName: название действия
б) пространство имен: пространство имен
Первый способ:
<result name="success" type="redirectAction">resulttype/redirectactionAction.action</result>
Второй способ:
<result name="success" type="redirectAction">
<!--
Имя действия:
Путь запрошенного действия
пространство имен:
Если не написано, по умолчанию используется путь запрошенного действия. Если написано, путь будет переназначен.
-->
<param name="actionName">
тип результата/redirectactionAction.action
</парам>
</результат>
Первый способ:
<result name="success" type="redirectAction">resulttype/redirectactionAction.action</result>
Второй способ:
<result name="success"type="redirectAction">
<!--
Имя действия:
Путь запрошенного действия
пространство имен:
Если не написано, по умолчанию используется путь запрошенного действия. Если написано, путь будет переназначен.
-->
<paramname="имядействия">
тип результата/redirectactionAction.action
</парам>
</результат>
<имя пакета=”ss” namespace=”/csdn/csdn”>
<действие="удалить">
</пакет>
<имя пакета=”test” namespace=”/csdn”>
<действие="удалить">
</пакет>
<имя пакета="sss" namespace="">
<действие="удалить">
</пакет>
Порядок поиска названий действий
1. Получите URI пути запроса. Например, URL-адрес: http://server/struts2/path1/path2/path3/test.action.
2. Сначала найдите пакет с пространством имен /path1/path2/path3. Если этот пакет существует, найдите в нем действие с именем test. Если этот пакет не существует, перейдите к шагу 3.
3. Найдите пакет с пространством имен /path1/path2. Если этот пакет существует, найдите в нем действие с именем test. Если этот пакет не существует, перейдите к шагу 4;
4. Найдите пакет с пространством имен /path1. Если этот пакет существует, найдите в нем действие с именем test. Если этот пакет еще не существует, перейдите к пакету пространства имен по умолчанию, чтобы найти действие с именем test (пространство имен по умолчанию). пустая строка ""). Если оно все еще не найдено, страница сообщит, что действие не найдено.
Действие прототипа стойки2
Прототип прототипа создает новый объект Action для каждого запроса.
Сервлет
Когда прототип Singleton запрашивается впервые, вы можете создать объект сервлета и использовать его каждый раз.
Жизненный цикл сервлета
создать --- инициализировать --- сервис --- уничтожить