1.логика:пусто
Тег logic:empty используется для определения того, является ли он пустым. Если оно пусто, будет обработано содержимое, встроенное в тело тега. Этот тег используется в следующих ситуациях:
Когда объект Java имеет значение null Когда объект String имеет значение "" Когда isEmpty() в объекте java.util.Collection возвращает true Когда isEmpty() в объекте java.util.Map возвращает true Следующий пример кода иллюстрирует логику: пустой тег определяет, пуста ли коллекция person:
<logic:empty name="listForm" property = "persons">
<div>Коллекция персон пуста!</div>
</логика:пусто>
2.логика: notEmpty
Применение этого тега прямо противоположно логике: пустой тег.
3.логика: равно
Этот тег является оператором сравнения «равно».
например1. Сравните атрибут статуса пользователя, чтобы убедиться, что он равен 1. Если он равен 1, выведите «включено»;
например, если значение в приведенном выше примере получено динамически, его необходимо вывести через bean:write, поскольку struts не поддерживает вложенность меток, для решения этой проблемы можно использовать EL.
логика: равно
Здесь мы хотим представить не просто тег Logic:equal(=), а тип тегов, которые выполняют операции сравнения, в том числе:
логика: равно (=)
логика: notEqual(!=)
логика:greaterEqual(>=)
логика:lessEqual(<=)
логика: graterThan(>)
логика:lessThan(<)
Использование тегов этого типа аналогично. Мы вводим только тег log:equal, а все остальное оставляем на ваше усмотрение.
log:equal используется для определения того, равны ли они. Если оно равно, будет обработано содержимое, встроенное в тело тега. Этот тег используется в следующих ситуациях:
Сравнивает, равно ли значение файла cookie, указанного атрибутом cookie этого тега, значению атрибута value этого тега.
Сравнивает, равно ли значение заголовка, указанного атрибутом заголовка тега, значению атрибута значения тега.
Сравнивает, равен ли JSP Bean, указанный атрибутом name тега, атрибуту value тега (атрибут свойства не отображается), или сравнивает, соответствует ли значение атрибута свойства JSP Bean, заданное атрибутом name тега. равно атрибуту value тега. Значения равны.
Сравнивает, равно ли значение параметра, указанное атрибутом параметра тега (в запросе), атрибуту значения тега.
4. логика: notEqual
Значение этого тега противоположно логическому: равно, и его использование аналогично, но опущено.
5. логика: вперед
Этот тег используется для реализации навигации по страницам и поиска глобальной пересылки файлов конфигурации. Глобальное перенаправление в файле struts-config.xml
например, <logic:forward name="redirect"/>
6. логика:большееравный
Оператор сравнения «больше или равно».
например, если балл учащегося больше или равен 60, выведите «пройдено»:
<logic:greaterEqual name="student" property="scores" value="60">
проходить
</logic:greaterEqual>
7. логика: больше, чем
Это оператор сравнения «больше чем», и его использование такое же, как и log:greaterEqual;
8. логика:lessEqual
Это оператор сравнения меньше или равно, и его использование такое же, как и log:greaterEqual;
9. логика:меньшечем
Это оператор сравнения меньше, и его использование такое же, как и log:greaterEqual;
10. логика: совпадение
Этот тег сравнивает объекты на предмет равенства;
Тег Logic:match используется для решения проблем с сопоставлением подстрок.
Если указанное значение соответствует тегу, будет создано содержимое его тела тега. Этот тег используется в следующих ситуациях:
Проверяет, соответствует ли файл cookie с указанным именем значению этого тега.
Проверяет, соответствует ли заголовок с указанным именем значению этого тега.
Проверяет, соответствует ли JSP Bean с указанным именем значению тега, или проверяет, соответствует ли значение атрибута свойства в JSP Bean с указанным именем значению тега.
Проверяет, соответствует ли значение параметра указанного имени в запросе значению тега.
Следующий код иллюстрирует типичное использование тега Logic:match:
например0.
12. логика: messagePresent
Этот тег используется для определения существования объекта ActionMessages/ActionErrors;
Тег log:messagesPresent используется в следующих ситуациях:
В области запроса имеется объект ActionMessages, а атрибут свойства метки соответствует свойству в ActionMessages.
В области запроса имеется объект ActionErrors, а атрибут свойства метки соответствует свойству в ActionErrors.
Есть объект String, преобразуйте (создайте) его в ActionMessage, а затем добавьте в ActionMessages.
Существует объект String Array, преобразуйте каждую строку в массиве в ActionMessage, а затем добавьте ее в ActionMessages.
Если значение атрибута сообщения тега истинно, Globals.MESSAGE_KEY будет использоваться в качестве ключа для поиска сообщения в области запроса. В других случаях значение имени будет использоваться в качестве ключа для поиска. не отображается, значение по умолчанию — Globals.ERROR_KEY.
Следующий код иллюстрирует типичное использование тега Logic:messagesPresent:
например1.
14. логика: присутствует
Этот тег используется для определения существования параметров, переданных объектом запроса.
Если указанное значение появится, тег создаст содержимое своего тела тега. Этот тег используется в следующих ситуациях:
Проверяет, присутствует ли файл cookie с указанным именем.
Проверяет, появляется ли заголовок с указанным именем.
Проверяет, появляется ли JSP Bean с указанным именем, или проверяет, появляется ли атрибут свойства в JSP Bean с указанным именем.
Проверьте, появляется ли в запросе параметр с указанным именем.
Проверяет, связан ли текущий аутентифицированный пользователь с указанной ролью безопасности.
Проверяет, имеет ли текущий аутентифицированный субъект указанное имя.
eg1. Если в запросе присутствуют и объект пользователя, и его атрибут имени, выводится соответствующая строка:
Давайте посмотрим разницу между этими двумя действиями:
Пересылка выполняется внутри сервлета. Браузер вообще не будет знать об этом действии, и исходный URL-адрес не изменится. Если браузер будет перезагружен, он просто повторит исходный запрос.
Перенаправление разделено на два этапа: на первом этапе веб-приложение сообщает браузеру второй URL-адрес, а затем браузер отправляет запрос на второй URL-адрес.
Перенаправление происходит медленнее, чем прямое, поскольку браузеру приходится делать второй запрос. Также обратите внимание, что bean-компоненты в первой области запроса (области запроса) не видны второму запросу.
Поняв описанные выше различия, вы будете знать, когда использовать тег Logic:Forward, а когда — тег Logic:Redirect.
Тег log:forward завершает PageContext.forward() или HttpServletResponse.sendRedirect(). Выбор определяется контроллером. Тег log:redirect завершает HttpServletResponse.sendRedirect().
При использовании тега logic:redirect мы можем создать параметры baseurl и запроса так же, как при использовании html:link. Если вам интересно, вы можете обратиться к тегу html:link.