Поддержка JavaScript отключена
SBP-Program | |||||
На главную -> Java EE 5 |   | ||||
  |
JSP технология позволяет динамически формировать веб-страницы. JSP-страницы состоят из, укрупненно, двух частей: статической и динамической. Статическая часть страницы делается обычно на HTML, а динамическая часть создается на языке JSP и на унифицированном языке выражений. JSP элементы описывают либо на языке JSP, либо на XML, но внутри одного документа используется только один из них. Начнем с простейшего примера. Сделаем Веб-калькулятор, который будет складывать два числа. Работаем в NetBeans. Создаём новый прект: New Project -> Web -> Web Application, назовём прект MyJSP. Изменим созданный мастером код страницы index.jsp так: Это практически обычная страница HTML, в которой установлены три поля ввода и две кнопки. Но есть особенности. В начале указываем директиву страницы: <%@page contentType=»text/html; charset=UTF-8″%>
В этой директиве указывают тип содержимого и кодировку ответа (именно ответа, не самой страницы). Далее в коде страницы index.jsp идёт директива используемой библиотеки, это аналог директиве import в Java: <%@ taglib uri=»http://java.sun.com/jsp/jstl/core» prefix=»c» %>
Формирование статической части завершено. Посмотрим, что получилось: запускаем проект на выполнение (команда Run): Теперь займемся динамической частью и создадим Ява-класс, котрый выполнит суммирование двух чисел. Создайте в папке Source Packages пакет web, а в нём класс KCalc, получаем: Изменим класс KCalc, созданный мастером так: В классе имеется обязательный конструктор по умолчанию. Для доступа к полям класса используют открытые методы «получить» и «установить». Для использования этого класса на странице JSP запишем элемент jsp:useBean: <jsp:useBean class=»web.calc.KCalc» id=»calc» scope=»application» />
Есть другая форма ввода бина на страницу: Здесь сразу указываем значения свойств. В нашем примере используем первый вариант. Атрибут «scope» опрелеляет область видимости бина, здесь – «application», т.е. это имя бина можно использовать в пределах всего приложения. Другие значения «scope» могут быть: сессия, запрос, страница. id – имя бина, оно используется для ссылок на него в пределах его видимости. В атрибуте «class» указываем полное имя класса, включая пакет(ы), безымянный пакет нельзя указывать. Теперь наша страница JSP, будет выглядеть так: Установим на страницу значения свойств бина: Унифицированный язык выражений работает и на страницах JSP, и на странцах JSF. Этот язык позволяет работать с методами и полями бинов. Выражения, которые вычисляются сразу записываются так: ${какое-то выражение}, они только для чтения, а выражения, вычисление которых отложено обозначают так: #{какое-то выражение}, они могут быть и для чтения, и для записи. Свяжем атрибуты «value» элементов управления с полями бина: Здесь свойству бина «а» даем значение из элемента управления «а»: <jsp:setProperty name=»calc» property=»a» value=»${param.a}» />
т.е. значение элемента «а» сохраняется в поле «а» нашего бина. А в элемент управления «с» ставим значение из поля «с» бина: <input type=»text» name=»c» size=»25″ value=»${calc.c}»>
т.е. значение поля «с» бина будет отражаться в элементе управления «с». Так устанавливается связь элементов управления с полеми бина. Теперь сделаем еще одну страницу JSP с названием «result.jsp», которая будет сообщать результат вычисления в тексте. Правой кнопкой по названию проекта MyJSP -> New -> JSP, в поле Folder выберете папку Web Pages: В result.jsp будет всего одна строка, всё остальное удалите: <h4><I><font color=»green»>The result is ${calc.c}</font></I></h4>
При выводе этой страницы вместо ${calc.c} будет подставлено значие поля «с» бина «calc».Страница «result.jsp» будет включаться в нашу исходную страницу «index.jsp» с помощью строк: сначала проверяем наличие значения в поле «с» бина и выводим страницу «result.jsp» в месте появления строки <%@include file=»result.jsp» %>
Итак, окончательный вид страницы «index.jsp»: Запускаем на выполнение и получаем: Итак, JSP страница состоит из статической части, которую мы сделали на HTML, и динамической части, здесь применились элементы JSP и Ява-класс.Простейший пример завершен. Скачать JSP пример.(17Кб) Программирование |
  | |||
 
|
 
|
||||