JSP



Поддержка JavaScript отключена

SBP-Program
На главную -> Java EE 5 &nbsp

&nbsp

JSP технология позволяет динамически формировать веб-страницы. JSP-страницы состоят из, укрупненно, двух частей: статической и динамической. Статическая часть страницы делается обычно на HTML, а динамическая часть создается на языке JSP и на унифицированном языке выражений. JSP элементы описывают либо на языке JSP, либо на XML, но внутри одного документа используется только один из них.

Начнем с простейшего примера. Сделаем Веб-калькулятор, который будет складывать два числа. Работаем в NetBeans. Создаём новый прект: New Project -> Web -> Web Application, назовём прект MyJSP.

JSP

Изменим созданный мастером код страницы index.jsp так:

Это практически обычная страница HTML, в которой установлены три поля ввода и две кнопки. Но есть особенности. В начале указываем директиву страницы:

&lt%@page contentType=»text/html; charset=UTF-8″%&gt

В этой директиве указывают тип содержимого и кодировку ответа (именно ответа, не самой страницы).

Далее в коде страницы index.jsp идёт директива используемой библиотеки, это аналог директиве import в Java:

&lt%@ taglib uri=»http://java.sun.com/jsp/jstl/core» prefix=»c» %&gt

Формирование статической части завершено. Посмотрим, что получилось: запускаем проект на выполнение (команда Run):

JSP

Теперь займемся динамической частью и создадим Ява-класс, котрый выполнит суммирование двух чисел. Создайте в папке Source Packages пакет web, а в нём класс KCalc, получаем:

JSP

Изменим класс KCalc, созданный мастером так:

В классе имеется обязательный конструктор по умолчанию. Для доступа к полям класса используют открытые методы «получить» и «установить».

Для использования этого класса на странице JSP запишем элемент jsp:useBean:

&ltjsp:useBean class=»web.calc.KCalc» id=»calc» scope=»application» /&gt

Есть другая форма ввода бина на страницу:

Здесь сразу указываем значения свойств.

В нашем примере используем первый вариант.

Атрибут «scope» опрелеляет область видимости бина, здесь – «application», т.е. это имя бина можно использовать в пределах всего приложения. Другие значения «scope» могут быть: сессия, запрос, страница. id – имя бина, оно используется для ссылок на него в пределах его видимости. В атрибуте «class» указываем полное имя класса, включая пакет(ы), безымянный пакет нельзя указывать.

Теперь наша страница JSP, будет выглядеть так:

Установим на страницу значения свойств бина:

Унифицированный язык выражений работает и на страницах JSP, и на странцах JSF. Этот язык позволяет работать с методами и полями бинов. Выражения, которые вычисляются сразу записываются так: ${какое-то выражение}, они только для чтения, а выражения, вычисление которых отложено обозначают так: #{какое-то выражение}, они могут быть и для чтения, и для записи.

Свяжем атрибуты «value» элементов управления с полями бина:

Здесь свойству бина «а» даем значение из элемента управления «а»:

&ltjsp:setProperty name=»calc» property=»a» value=»${param.a}» /&gt

т.е. значение элемента «а» сохраняется в поле «а» нашего бина. А в элемент управления «с» ставим значение из поля «с» бина:

&ltinput type=»text» name=»c» size=»25″ value=»${calc.c}»&gt

т.е. значение поля «с» бина будет отражаться в элементе управления «с». Так устанавливается связь элементов управления с полеми бина.

Теперь сделаем еще одну страницу JSP с названием «result.jsp», которая будет сообщать результат вычисления в тексте. Правой кнопкой по названию проекта MyJSP -> New -> JSP, в поле Folder выберете папку Web Pages:

JSP

В result.jsp будет всего одна строка, всё остальное удалите:

&lth4&gt&ltI&gt&ltfont color=»green»&gtThe result is ${calc.c}&lt/font&gt&lt/I&gt&lt/h4&gt

При выводе этой страницы вместо ${calc.c} будет подставлено значие поля «с» бина «calc».Страница «result.jsp» будет включаться в нашу исходную страницу «index.jsp» с помощью строк:

сначала проверяем наличие значения в поле «с» бина и выводим страницу «result.jsp» в месте появления строки

&lt%@include file=»result.jsp» %&gt

Итак, окончательный вид страницы «index.jsp»:

Запускаем на выполнение и получаем:

JSP

Итак, JSP страница состоит из статической части, которую мы сделали на HTML, и динамической части, здесь применились элементы JSP и Ява-класс.Простейший пример завершен. Скачать JSP пример.(17Кб)

Программирование

&nbsp
&nbsp
&nbsp