Обзор элементов синтаксиса JSP
Во-первых, чтобы прояснить ситуацию, вот краткий обзор элементов синтаксиса JSP :
- Директивы : Они передают информацию о странице JSP в целом.
- Элементы сценариев : это элементы кодирования Java, такие как объявления, выражения, скриптлеты и комментарии.
- Объекты и области : объекты JSP могут создаваться явно или неявно и доступны в пределах определенной области, например, из любой точки на странице JSP или в сеансе.
- Действия : они создают объекты или влияют на выходной поток в ответе JSP (или оба).
Как контент включен в JSP
Существует несколько механизмов для повторного использования содержимого в файле JSP.
Следующие 4 механизма для включения контента в JSP могут быть классифицированы как прямое повторное использование :
(для первых трех механизмов цитирование из "Head First Servlets and JSP" )
1) Директива включения :
<%@ include file="header.html" %>
Статический : добавляет содержимое из значения атрибута файла на текущую страницу во время перевода . Директива изначально предназначалась для шаблонов статического макета, таких как заголовки HTML.
2) <jsp:include>
Стандартное действие :
<jsp:include page="header.jsp" />
Динамический : добавляет содержимое из значения атрибута страницы на текущую страницу во время запроса . Предназначен скорее для динамического контента из JSP.
3) <c:import>
тег JSTL:
<c:import url=”http://www.example.com/foo/bar.html” />
Динамический : добавляет содержимое из значения атрибута URL на текущую страницу во время запроса . Он работает примерно так же
<jsp:include>
, но он более мощный и гибкий: в отличие от двух других, <c:import>
URL может быть за пределами веб-контейнера !
4) Прелюдии и коды:
Статические : прелюдии и коды могут быть применены только к началу и концу страниц .
Вы можете неявно включать прелюдии (также называемые заголовками) и коды
(также называемые нижними колонтитулами) для группы страниц JSP, добавляя
<include-prelude>
и <include-coda>
элементы соответственно в <jsp-property-group>
элемент в дескрипторе развертывания веб-приложения web.xml . Подробнее читайте здесь:
• Настройка неявных включений в начале и конце JSP
• Определение неявных включений
Файл тегов - это косвенный метод повторного использования контента, способ инкапсуляции контента многократного использования . Файл тегов является исходный файл, содержащий фрагмент JSP - кода , который можно повторно использовать в качестве пользовательского тега .
ЦЕЛЬ включает в себя и файлы тегов отличается.
Файл тегов (концепция, представленная в JSP 2.0) является одним из вариантов создания пользовательских тегов . Это более быстрый и простой способ создания пользовательских тегов .
Пользовательские теги , также известные как расширения тегов, являются элементами JSP, которые позволяют вставлять пользовательскую логику и выходные данные, предоставляемые другими компонентами Java, в страницы JSP. Логика, предоставляемая через пользовательский тег, реализуется объектом Java, известным как обработчик тега .
Некоторые примеры задач, которые могут быть выполнены с помощью пользовательских тегов, включают работу с неявными объектами, обработку форм, доступ к базам данных и другим корпоративным службам, таким как электронная почта и каталоги, а также реализация управления потоком.
Относительно вашего редактирования
Возможно, в вашем примере (в вашем Edit ) нет разницы между использованием прямого включения и файла тегов. Но пользовательские теги имеют богатый набор функций . Они могут
Быть настроенным с помощью атрибутов, передаваемых с вызывающей страницы.
Передайте переменные обратно на страницу вызова.
Доступ ко всем объектам, доступным для страниц JSP.
Общайтесь друг с другом. Вы можете создать и инициализировать компонент JavaBeans, создать общедоступную переменную EL, которая ссылается на этот компонент в одном теге, а затем использовать компонент в другом теге.
Будьте вложены друг в друга и общайтесь посредством частных переменных.
Также прочитайте это из "Pro JSP 2": Понимание пользовательских тегов JSP .
Полезное чтение.
Вывод
Используйте правильные инструменты для каждой задачи.
Используйте файлы тегов как быстрый и простой способ создания пользовательских тегов, которые помогут вам инкапсулировать повторно используемый контент .
Что касается включения контента в JSP (цитата отсюда ):
- Используйте директиву include, если файл изменяется редко . Это самый быстрый механизм. Если ваш контейнер не обнаруживает автоматически изменения, вы можете заставить изменения вступить в силу, удалив файл класса главной страницы.
- Используйте действие включения только для содержимого, которое часто меняется , и если не удается решить, какую страницу включить, пока не будет запрошена главная страница.