Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LectBL_DB_Theme3.doc
Скачиваний:
4
Добавлен:
15.08.2019
Размер:
104 Кб
Скачать
☆

Custom теги з обробкою вмісту

Якщо потрібен доступ до вмісту custom тега, то відповідний Java клас повинен реалізовувати інтерфейс BodyTag чи ж успадковувати клас BodyTagSupport. І в тому, і в іншому випадку клас може реалізувати методи doInitBody і doAfterBody.

Метод doInitBody викликається відразу після того, як виявлено вміст тега, але до того, як його буде оброблено. Звичайно цей метод використовується коли необхідно виконати ініціалізацію класу залежно від вмісту custom тега.

Метод doAfterBody викликається після того, як вміст custom тега було оброблено. Як і в попередньому розділі, метод doAfterBody може указувати, чи слід повторити обробку вмісту тега ще раз. Якщо це необхідно, метод повинен повернути значення EVAL_BODY_BUFFERED, інакше він повинен повернути SKIP_BODY.

На додаток до двом попередніх, технологією JSP передбачений виклик методу release з тим, щоб дозволити класу, що здійснює підтримку custom тега, звільнити виділені йому ресурси, а також провести інші необхідні дії для повернення в початковий стан.

Безпосередньо для доступу до вмісту custom тега технологією передбачено два методи: getString і getReader.

Атрибути в custom тегах

Крім інформації в проміжку між відкриваючим і закриваючим тегами, custom тег може мати деякі атрибути, які також можуть робити вплив на порядок обробки запиту клієнта. Для кожного з таких атрибутів в класі, що реалізовує custom тег, повинен бути вказаний відповідний атрибут, а також два методи get і set. Наприклад, якщо custom тег має вигляд

<dscat:pageheader height="huge">

то клас, що реалізує цей custom тег, повинен містити наступний код:

protected String height = null;

public String getHeight() {

return (this.height);

}

public void setHeight(String value){

this.height = value;

}

Атрибути custom тега також необхідно декларувати в дескрипторі бібліотеки custom тегів.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]