Главная » Java, Web » Директивы JSP

0

используются для вставки существующих фрагментов кода в текущий текст, они напоминают директивы препроцессора. Директивы помещаются между знаками <%@ и %>. Пример приведен в файле jsp2.jsp (листинг 3.6).

Листинг 3.6. Файл jsp2.jsp

<се@ page import="java.util.*" %>

<HTML>

<BODY>

System.out.println("Evaluating date now"); Date date = new Date();

Hello! The time is now <%= date %>

</BODY>

</HTML>

Кроме вставки уже существующих фрагментов кода директивы могут быть использованы для импортирования файлов (листинг 3.7). Результат обращения к этой странице показан на рис. 3.9.

Листинг 3.7. Файл jsp3.jsp

<HTML> <BODY>

Going to include jspl.jsp… <BR>

<ce@ include file="jsp2.jsp" %>

</BODY>

</HTML>

Рис. 3.9. Применение директив JSP

Декларации в JSP

В JSP существует специальный ярлык, внутри которого описываются новые типы данных. Объявления типов и описания методов производятся между знаками <%! и %>. Например, описание методов может быть следующим (листинг 3.8):

Листинг 3.8. Файл jsp4.jsp

<BODY>

<сс !

Date theDate = new Date() ; Date getDateO

System.out.println("In getDateO method"); return theDate;

Hello! The time is now <%= getDateO %>

</BODY>

</HTML>

Эта страница приводит к отображению привычной картинки в браузере, как это видно из рис. 3.10.

Рис. 3.10. Пример объявления типа данных в декларации JSP

Ярлыки JSP

В JSP существует возможность создания пользовательских ярлыков, т. е. таких ярлыков, которые определяются разработчиком самостоятельно. Однако существуют и заранее определенные ярлыки. Ярлыки JSP очень похожи на ярлыки HTML или XML. Ярлык бывает открывающим. Он начинается с символа открывающей угловой скобки, за которым следует набор букв с разделяющим двоеточием и закрывающая угловая скобка. Закрывающий ярлык после открывающей угловой скобки содержит знак косой черты. Между открывающим ярлыком и закрывающим ярлыком находится тело элемента, описываемого этим ярлыком. Если элемент не имеет тела, то открывающий и закрывающий ярлыки могут быть совмещены, например <nechto/>. Общий вид элемента с ярлыками такой <some:tag> body

</some:tag>

Заранее определенные ярлыки начинаются с последовательности символов <j sp:, например:

<HTML> <BODY>

Going to include hello.jsp…<BR> <jsp:include page="hello.j sp"/> </BODY> </HTML>

JSP и работа с сессиями

При переходе от одной страницы к другой часто оказывается полезно сохранять информацию о пользователе. Как это можно сделать? Здесь полезно работать с сессией. Можно автоматически сгенерировать идентификатор сессии и передавать его наподобие cookies (фрагменты информации, которая передается в составе HTTP-запросов), также можно получить имя от пользователя через HTML-форму. Создадим простую форму, сохранив ее в файле ses.html (листинг 3.9).

Листинг 3.9. Файл ses.html

<HTML> <BODY>

<FORM METHOD=POST ACTION="Name.jsp"> Input your name

<INPUT TYPE=TEXT NAME=username SIZE=20>

<BR> Input your e-mail address

<INPUT TYPE=TEXT NAME=email SIZE=20>

<BR> Type your age

<INPUT TYPE=TEXT NAME=age SIZE=4>

<PXINPUT TYPE=SUBMIT>

</FORM>

</BODY>

</HTML>

Вводим значения, соблюдая типы, как показано на рис. 3.11.

Рис. 3.11. Заполнение формы Этот файл будет обрабатываться скриптом Name.jsp (листинг 3.10).

Листинг 3.10. Файл Name.jsp

<jsp:useBean id="user" class="UserData" scope="session"/>

<jsp:setProperty name="user" property="*"/>

<HTML>

<BODY>

<A HREF="Next.j sp">Sleduyuschaya stranitsa</A>

</BODY>

</HTML>

Данные, занесенные в форму, передадутся в файл Name.jsp. Если файл Name.jsp существует, то после нажатия кнопки Submit Query должна появиться страница со ссылкой на следующую страницу Name.jsp.

Листинг 3.11. Файл Name.jsp

<jsp:useBean id="user" class="UserData" scope="session"/> <HTML>

<BODY> My wodili<BR> Imya:

<%= user.getUsername() %> <BR> Email:

<%= user.getEmail() %>

<BR> Vozrast:

<%= user.getAge() %>

<BR>

</BODY>

</HTML>

На рис. 3.12 показан ответ, полученный из скрипта Next.jsp (листинг 3.11). Обратите внимание на то, что мы видим те же значения, что вводили ранее.

Рис. 3.12. Пример вывода на экран переменных, сохраненных как переменные сессии

Источник: Будилов В. А. Интернет-программирование на Java. — СПб.: БХВ-Петербург, 2003. — 704 е.: ил.

По теме:

  • Комментарии