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

Включення файлів і аплетів у документи jsp

Існує три основних способи включення зовнішніх документів у документ JSP:

  • директива include включає код для елементів, які зустрічаються на багатьох сторінках, перед тим, як сторінка транслюється в сервлет.

  • директива jsp:include дозволяє включати вміст текстових файлів.

  • директива jsp:pluginвикористовується длявбудовування Java-аплетів.

Директива include включає файл в головну сторінку документаJSP на етапі трансляції документа в сервлет. Синтаксис використання:

<%@ include file=”Relative URL” %>

Використання JavaBeans з jsp

Інтерфейс API JavaBeans надає стандартний формат для класів Java.

Основні вимоги до bean-компонента:

  1. Клас bean-компонента повинен мати конструктор без параметрів. Цей конструктор буде викликатися при створенні bean-компонентівJSP-сторінкою.

  2. Клас bean-компонента не повинен мати відкритих (public) змінних екземпляра.

  3. Доступ до постійних значень повиненздійснюватися за допомогою відповідних методів getXxx і setXxx.В цьому випадку кажуть, що у класі присутня властивість Xxx. Для читання булевих властивостей застосовують методи isXxx.

Приклад bean-компонента Book, який володіє властивостями author і title:

public class Book {

private String title;

private String author;

public Book() {

author = "Stephen King";

title = "The Dark Tower";

}

public String getTitle() {

return title;

}

public void setTitle(String title) {

this.title = title;

}

public String getAuthor() {

return author;

}

public void setAuthor(String author) {

this.author = author;

}

}

Основи використання bean-компонентів

Дія jsp:useBean дозволяє завантажити bean-компонент, який використовуватиметься на JSP-сторінці, наприклад:

<jsp:useBean id=”name” class=”package.Class” />

Це означає „створити об’єкт заданого класу Class і пов’язати його із змінною, що визначається атрибутом id”.

Якщо необхідно, щоб змінна була оголошена як суперклас bean-компонета або як інтерфейс, який bean реалізує, застосовують атрибут type, наприклад:

<jsp:useBean id=”thread1” class=”MyClass” type=”Runnable” />

Доступ до властивостей bean-компонентів

Доступ до властивостей bean-компонентів можна отримати за допомогою дії jsp:getProperty, в якому визначається атрибут name із значенням, співпадаючим зі значенням атрибута id, заданого у дії jsp:useBean, а також атрибут property, який задає ім’я потрібної властивості. Наприклад:

<jsp:getProperty name=”book1” property=”title” />

Альтернативний спосіб виконання попередньої дії – використання такого виразу:

<%= book1.getTitle() %>

Для зміни значення властивості bean-компонента використовується дія jsp:setProperty. У найпростішому випадку при цьому вказуються три атрибути: name,idі value (нове значеня), наприклад:

<jsp:setProperty name=”book1” property=”title” value=”The Shining” />

Альтернативний спосіб виконання попередньої дії – використання скриплету:

<% book1.setTitle(“The Shining”); %>

Для задання атрибутів nameі valueможна використовувати JSP-вирази, наприклад:

<jsp:setProperty name=”book1” property=”title”

value=’<%= request.getParameter(”itemID”) %>’ />

Якщо необхідно пов’язати значення властивості з параметром запиту, то замість атрибута value слід використати атрибут param, значення якого дорівнює імені параметра, який передається JSP-сторінці. При цьому автоматично виконується перетворення рядкового типу у числові, символьні або булеві типи значень, Наприклад:

<jsp:setProperty name=”book1” property=”title” param=”title” />

Пов’язування властивостей із вхідними параметрами звільняє програміста від виконання перетворень більшості типів. JSP дозволяє встановити зв’язки між усіма властивостями і вхідними параметрами з аналогічними іменами. Для цього значення атрибута property встановлюється рівним „*”, наприклад:

<jsp:setProperty name=”book1” property=”*” />

Якщо певний вхідний параметр відсутній, то ніяких дій не відбувається (тобто null у якості значення властивості не передається). Оскільки імена властивостей і вхідних параметрів чутливі до регістру, то вони повинні точно відповідати один одному.

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