Читать «Java 7 (Наиболее полное руководство)» онлайн - страница 434
Ильдар Шаукатович Хабибуллин
Ресурсу можно передать один или несколько параметров в теле элемента:
<jsp:forward page="
<jsp:param name="имя■" value="
</jsp:forward>
Пользовательские теги
Разработчик страниц JSP может расширить набор стандартных действий (тегов) JSP, создав свои собственные, как говорят,
В листинге 27.4 приведен пример простого TLD-файла, описывающего библиотеку пользовательских тегов с одним тегом head, реализуемым классом HeadTag. Полное объяснение использованных в нем элементов XML вы получите в следующей главе.
Листинг 27.4. Описатель TLD библиотеки тегов
<taglib xmlns=" 2ee"
xmlns:xsi="" xsi:schemaLocation=
" web-jsptaglibrary 2 0.xsd" version="2.0">
<tlib-version>1.0</tlib-version>
<short-name></short-name>
<uri>/sdo</uri>
<tag>
<name>head</name>
<tag-class>sdotags.HeadTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<name>size</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
На странице JSP перед применением пользовательских тегов следует сослаться на библиотеку тегом
<%@ taglib uri="адрес
prefix="
Например, если на странице JSP написан тег
<%@ taglib uri="/WEB-INF/sdotaglib.tld" prefix="sdo" %>
то на ней можно использовать теги вида <sdo: head />.
У этого тега нет прямого XML-эквивалента. Префикс тегов библиотеки и ее адрес определяются в форме XML как пространство имен атрибутом xmlns в элементе <j sp: root>. Например, библиотека с префиксом тегов sdo и адресом /WEB-INF/sdotaglib.tld описывается так:
<j sp:root
xmlns:j sp="" xmlns:sdo="/WEB-INF/sdotaglib.tld" version="2.0"
>
Страница JSP </jsp:root>
Необязательный элемент <jsp:root>, если он присутствует, должен быть корневым элементом документа XML.
Как видите, к каждой странице JSP всегда подключается библиотека с префиксом тегов jsp. Стандартные (core) действия JSP входят в эту библиотеку. Префиксы jsp, jspx, java, j avax, servlet, sun, sunw зарезервированы корпорацией Sun Microsystems, их нельзя употреблять в библиотеках пользовательских тегов.
В конфигурационном файле web.xml можно создать псевдонимы адреса URI библиотеки с помощью элемента <taglib>, например: