Огляд елементів синтаксису JSP
По-перше, щоб зробити речі більш зрозумілими, ось короткий огляд елементів синтаксису JSP :
- Директиви : Вони передають інформацію про сторінку JSP в цілому.
- Елементи скриптування : Це елементи кодування Java, такі як декларації, вирази, сценарії та коментарі.
- Об'єкти та сфери застосування : Об'єкти JSP можуть бути створені явно або неявно і доступні в заданому обсязі, наприклад, з будь-якої сторінки сторінки JSP або сеансу.
- Дії : Вони створюють об'єкти або впливають на вихідний потік у відповіді JSP (або обох).
Як вміст включено в JSP
Існує кілька механізмів повторного використання вмісту у файлі JSP.
Наступні 4 механізми включення вмісту в JSP можна віднести до прямого повторного використання :
(для перших 3 механізмів, що цитуються з "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) Прелюдії та коди:
Статичний : прелюдії та коди можуть застосовуватися лише до початку та кінця сторінок .
Ви можете неявно включають прелюдії (також звані заголовки) і codas
(також звані колонтитули) для групи сторінок JSP, додаючи
<include-prelude>
і <include-coda>
елементи відповідно в межах <jsp-property-group>
елемента в веб - додатки web.xml дескриптора розгортання. Детальніше читайте тут:
• Налаштування неявних включень на початку та в кінці ПСП
• Визначення неявних включає
Файл тегів - це непрямий метод повторного використання вмісту, спосіб інкапсуляції контенту, що повторно використовується . Файл тегів є вихідний файл, який містить фрагмент JSP - коду , який можна повторно використовувати в якості призначеного для користувача тега .
МЕТА файлів включає і теги відрізняється.
Файл тегів (концепція, представлена JSP 2.0) є одним із варіантів створення спеціальних тегів . Це швидший і простіший спосіб створити спеціальні теги .
Спеціальні теги , також відомі як розширення тегів, - це елементи JSP, які дозволяють вставляти на сторінки JSP користувальницьку логіку та вихід, що надаються іншими компонентами Java. Логіка, що надається через спеціальний тег, реалізується об'єктом Java, відомим як обробник тегів .
Деякі приклади завдань, які можуть виконуватися за допомогою спеціальних тегів, включають роботу над неявними об’єктами, обробку форм, доступ до баз даних та інших службових служб підприємства, таких як електронна пошта та каталоги, та здійснення управління потоком.
Щодо вашої редагування
Можливо, у вашому прикладі (у вашому редагуванні ) немає різниці між використанням прямого включення та файлу тегів. Але спеціальні теги мають багатий набір функцій . Вони можуть
Будьте налаштовані за допомогою атрибутів, переданих зі сторінки виклику.
Поверніть змінні назад на сторінку виклику.
Доступ до всіх об'єктів, доступних на сторінках JSP.
Спілкуйтеся між собою. Ви можете створити та ініціалізувати компонент JavaBeans, створити загальнодоступну змінну EL, яка посилається на цей бін в одному тезі, а потім використовувати bean в іншому тезі.
Будьте вкладені між собою та спілкуйтеся за допомогою приватних змінних.
Читайте також це з "Pro JSP 2": Розуміння спеціальних тегів JSP .
Корисне читання.
Висновок
Використовуйте правильні інструменти для кожного завдання.
Використовуйте файли тегів як швидкий і простий спосіб створення користувацьких тегів, які допоможуть вам інкапсулювати вміст для багаторазового використання .
Що стосується включення вмісту в JSP (цитата тут ):
- Використовуйте директиву include, якщо файл змінюється рідко . Це найшвидший механізм. Якщо ваш контейнер не автоматично виявляє зміни, ви можете змусити зміни вступити в силу, видаливши файл класу основної сторінки.
- Використовуйте дію включення лише для вмісту, який часто змінюється , і якщо яку сторінку включити, неможливо вирішити, поки не буде запропоновано головну сторінку.