Читать «Java 7 (Наиболее полное руководство)» онлайн - страница 428

Ильдар Шаукатович Хабибуллин

<jsp: тег атрибуты_тега />

Если у XML-элемента есть тело, то его открывающий тег заканчивается просто угловой скобкой, без наклонной черты.

Спецификация "JavaServer Pages Specification" не рекомендует смешивать в одном документе теги вида JSP с элементами XML. Страницу HTML, в которую вставлены теги вида <%...%>, она официально называет страницей JSP (JSP Page), а документ XML с тегами вида <jsp:.../> называет документом JSP (JSP Document). Файл со страницей JSP обычно получает имя с расширением jsp, а файл с документом JSP — имя с расширением jspx.

Документ JSP проходит еще одну стадию предварительной обработки, на которой он приводится в полное соответствие с синтаксисом XML. Это приведение включает в себя запись корневого элемента с пространством имен и вставку элементов cdata. После приведения получается документ XML, официально называемый представлением XML (XML View).

Стандартные действия (теги) JSP

Набор стандартных тегов JSP довольно прост. При их написании следует помнить три правила:

□ язык JSP различает регистр букв, как и язык Java;

□ при записи атрибутов, после знака равенства, отделяющего имя атрибута от его значения, нельзя оставлять пробелы;

□ значения атрибутов можно заносить не только в кавычки, но и в апострофы.

Будем записывать теги и в старой форме JSP, и в новой форме элементов XML. Комментарий на страницах JSP отмечается тегом

<%— Комментарий —%>

или тегом

<!-- Комментарий -->

Комментарий первого вида не передается клиенту. Все, что написано внутри него, не обрабатывается препроцессором. Комментарий второго вида переносится в формируемую HTML-страницу. Все JSP-теги, записанные внутри такого комментария, интерпретируются.

Объявления полей и методов Java записываются в теге

<%! Объявления %>

<jsp:declaration> Объявления </jsp:declaration>

После обработки препроцессором они будут полями и методами сервлета.

Выражение Java записывается в теге

<%= Выражение %>

<jsp:expression> Выражение </jsp:expression>

Выражение вычисляется, результат подставляется на место тега. Учтите, что в конце выражения не надо ставить точку с запятой, поскольку выражение, завершающееся точкой с запятой, — это уже оператор.

Фрагмент кода Java, называемый в JSP скриптлетом (scriptlet), который может включать в себя не только операторы, но и определения, записывается в теге

<% Скриптлет %>

<jsp:scriplet> Скриптлет </jsp:scriptlet>

Такой фрагмент после обработки препроцессором попадет в метод _jspService () создаваемого сервлета, являющийся оболочкой метода service ().

Включение файла во время компиляции производится тегом

<%@ include file="URL файла относительно контекста" %>

<jsp:directive.include file="URL файла относительно контекста" />

Общие свойства страницы JSP задаются тегом

<%@ page Атрибуты %>

<jsp:directive.page Атрибуты />

Все атрибуты здесь необязательны. В листингах 27.1 и 27.2 уже использованы атрибуты contentType и import этого тега. Другие атрибуты: