3к6с Современные технологии интернет-программирования / Лекции / Java Server Pages Введение
.pdf
Директива include
Директива используется для вставки
текста и кода во время трансляции JSPстраницы.
Синтаксис:
<%@ include file = “URL” %>
Пример:
<%@ include file = “news/150209.txt” %>
11
Директива taglib
Директива определяет механизм
расширения текущего набора тэгов. Это достигается путем создания библиотеки
тэгов (tag library).
Директива taglib:
объявляет, что страница использует
специализированные тэги и указывает имя
библиотеки
присваивает специализированным тэгам
префикс, который позволит их отличать от
обычных тэгов |
12 |
|
Директива taglib
Синтаксис:
<%@ taglib uri = “tag library uri” prefix = “tag prefix” %>
Пример:
<%@taglib uri="/WEB-INF/tlds/my_library" prefix=“my" %>
Атрибут uri указывает на размещение библиотеки, атрибут prefix определяет
префикс специализированных тэгов.
13
Скриптовые элементы языка JSP
Представляют собой фрагменты java-кода,
встраиваемые непосредственно в страницу HTML.
Существуют три различных элемента:
Выражения (Expressions)
Скриптлеты (Scriptlets)
Объявления или декларации (Declarations)
14
Выражения
Данный механизм позволяет вычислить
выражение, преобразовать его к строке и вставить результат в страницу.
Синтаксис:
<%= expressions %>
Пример:
<HTML>
<BODY> 2 + 3 = <%= 2 + 3 %> </BODY> </HTML>
15
Скриптлеты
Скриптлеты предназначены для размещения
кода на скриптовом языке (java). Этот код будет выполнен в момент выполнения
запроса. Когда запрос к странице
происходит первый раз, код скриптлета
преобразуется в код сервлета, после чего компилируется, и в дальнейшем запросы
обрабатывает сервлет.
Синтаксис:
<% scriptlet code; %>
16
Скриптлеты продолжение
Пример:
<BODY>
Монета выпала стороной:
<%
if (Math.random() > 0.5)
{
%>
<B>Орел</B>
<% } else
{
%>
<B>Решка</B>
<%
}
%>
</BODY>
17
Декларации
Декларации можно считать
определениями переменных и методов уровня классов. Такие переменные
инициализируются во время
первоначальной инициализации JSP-
страницы.
Синтаксис:
<%! declaration; %>
Пример:
<%! int counter = 0; %>;
18
Декларации продолжение
Объявление более одной переменной:
<%! double x=1.0, y=2.0; %>
Объявление метода в декларации:
<BODY>
<%! private int factorial(int n)
{
int rez = 1;
for (int i=2; i<=n; i++) rez *= i; return rez;
}
%>
<h1>Пример функции</h1> <%
out.println("Факториал числа 5 = "+factorial(5)+"<BR>"); out.println("Факториал числа 3 = "+factorial(3)+"<BR>"); %>
</BODY>
19
Декларации пример
<BODY>
<%! private static int counter = 0; %> <%
counter++;
out.println("А с момента перезагрузки сервера страница была загружена " + counter+" раз<BR>");
%>
</BODY>
20
