Java Server Page. Действия JSP-страницы

Действия (actions) JSP могут воздействовать на стандартный поток вывода, использовать, модифицировать и создавать объекты. Действия используют конструкции с синтаксисом XML для управления работой движка сервлета, и позволяют, таким образом, динамически подключать файл, многократно использовать компоненты JavaBeans, направлять пользователя на другую страницу или генерировать HTML для Java plugin.

Согласно спецификации JSP, синтаксис действий базируется на XML. В таблице представлены соответствия утверждений JSP и XML.

Конструкция JSPЭквивалентная конструкция в XML
<% page ... %> <%jsp:directive.page ... />
<% include ... %> <%jsp:directive.include ... />
<%! ... %> <%jsp:declaration>
     . . .
<%/jsp:declaration>
<% ... %> <%/jsp:scriptlet>
     . . .
<%/jsp:scriptlet>
<%= ... %> <%/jsp:expression>
     . . .
<%/jsp:expression>

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

Список стандартных действий
Тип действияНазначение действия
<jsp:useBean> Объявление объекта JavaBean, который будет использоваться на странице JSP
<jsp:setProperty> Установление значения свойства объекта JavaBean
<jsp:getProperty> Чтение значения свойства объекта JavaBean
<jsp:include> Включение в страницу JSP дополнительных статических и динамических ресурсов
<jsp:forward> Перенаправление обработки на другой статический ресурс, например сервлет
<jsp:plugin> Подключение дополнительных программных модулей (компонент JavaBean или апплет)
<jsp:param> Определение значения параметра

Атрибуты тега действия

Для интерпретации действий определяются значения атрибутов, слева-направо, причем, при этом могут совершаться преобразования типов, предусмотренные спецификацией JSP.
Значения атрибутов могут быть следующими:
  • translation-time, attribute values - фиксированное значение времени транслирования;
  • request-time, attribute values - значения, вычисляемые в процессе запроса. В этом случае значение атрибута описывается как "<%= выражение %>" или '<%= выражение %>'. Кавычки используются также, как и при определении других атрибутов. Значение атрибута присваивается как результат вызываемого выражения.
Значения атрибутов, вычисляемые в процессе запросов, используются только в действиях, т.е. они, например, не могут использоваться в директивах. Тип элемента действия определяет, зависит ли данный атрибут от запроса или нет.

По умолчанию все атрибуты имеют семантику page - фиксированное значение времени транслирования. Большинство атрибутов стандартных действий относятся к типу значений времени трансляции. К значениям, вычисляемым в процессе запроса, относятся атрибуты, представленные в таблице.

Наименование атрибутаНаименование действияПримечание
beanName jsp:useBean Поиск или создание нового экземпляра JavaBean
height jsp:plugin Определение высоты объекта, размещаемого на странице JSP
width jsp:plugin Определение ширины объекта, размещаемого на странице JSP
bean | applet jsp:plugin Генерирование кода (в зависимости от типа используемого броузера), который создает тэг OBJECT или EMBED для Java plugin
page jsp:include Подключение файла в момент запроса страницы
page jsp:forward Перенаправление запроса на другую страницу
value jsp:setProperty Установка свойств компонента JavaBean
value jsp:getProperty Чтение свойств компонента JavaBean в выходной поток
value jsp:param Определение значения параметры для компонента, размещаемого на странице JSP




© 2009-2015