Использование Синтаксиса XML для Страниц JSP

Проверка JSP-страницы в спецификации JSP 1.2, с помощью класса TagLibraryValidator, ассоциированного с библиотекой тэгов. Класс-проверщик, работающий с объектом PageData, который представляет XML просмотр JSP-страницы. Модель семантики JSP-документа.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 24.11.2009
Размер файла 18,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Реферат на тему

Использование Синтаксиса XML для Страниц JSP

Использование Синтаксиса XML для Страниц JSP

Синтаксис XML для JSP-страниц может использоваться по-разному, с том числе:

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

XML-просмотр JSP-страницы может использоваться для проверки JSP страницы относительно некоторого описания набора верных страниц;

С JSP-документами можно работать с помощью XML-утилит;

JSP-документ может генерироваться из текстуального представления путём применения трансформации XML, например, XSLT;

JSP-документ может генерироваться автоматически, скажем, при сериализации некоторых объектов.

Проверка JSP-страницы поддерживается в спецификации JSP 1.2 с помощью класса TagLibraryValidator, ассоциированного с библиотекой тэгов. Класс-проверщик работает с объектом PageData, который представляет XML просмотр JSP-страницы.

JSP-страница с любым синтаксисом может подключать с помощью директивы JSP-страницу с любым синтаксисом. Нельзя, однако, смешивать стандартный JSP-синтаксис и XML-синтаксис в одном исходном файле.

JSP-документ это XML-документ, "знающий" о пространстве имён. Пространства имён используются для идентификации основного синтаксиса и библиотек тэгов, используемых на странице, и все относящиеся к JSP пространства имён вводятся в корне/root документа XML.Основной синтаксис/core syntax определяется с помощью своего собственного URI. Хотя в этой главе используется префикс jsp, верным является любой префикс, если используется корректный URI, идентифицирующий основной синтаксис.

JSP-документ использует то же расширение файла (.jsp), что и JSP страница с синтаксисом JSP. Контейнер может различить их, поскольку JSP-документ является XML-документом с верхним элементом jsp:root, а jsp:root не может появляться на JSP-странице с синтаксисом JSP.

Многие элементы XML в JSP-документе соответствуют элементам языка JSP, но можно включать элементы XML, непосредственно описывающие шаблон. Эти элементы могут иметь квалифицированные имена (и, таким образом, находиться в пространстве имён) или являться неквалифицированными.

JSP-страница с синтаксисом XML может использовать следующие элементы:

элемент jsp:root, который используется для ввода пространства имён для специальных тэгов страницы;

элементы-директивы JSP;

элементы скриптинга JSP;

элементы - стандартные акции JSP;

элементы - специальные акции JSP;

элементы jsp:text, соответствующие шаблонным данным;

другие фрагменты XML, также соответствующие шаблонным данным.

Модель Семантики

Модель семантики JSP-документа не изменилась по сравнению с моделью семантики JSP-страницы с синтаксисом JSP: JSP-страницы генерируют ответный поток символов из шаблонных данных и динамических элементов. Шаблонные данные могут быть описаны явно элементом jsp:text или неявно фрагментом XML.

Динамические элементы являются элементами скриптинга, стандартными акциями или специальными акциями. Элементы скриптинга представляются как элементы XML, кроме выражений времени/этапа запроса, которые представляются специальным синтаксисом атрибутов.

Чтобы точнее показать процессинг пробелов, мы следуем структуре спецификации XSLT. Первым шагом обработки JSP-документа является идентификация узлов документа. При этом все текстуальные узлы, содержащие только пробелы, из документа удаляются; единственным исключением являются узлы элемента jsp:text, которые сохраняются дословно. Результирующие узлы интерпретируются так, как описано в последующих разделах. Шаблонные данные либо передаются непосредственно в ответ/response, либо опосредованно через (стандартные или специальные/custom) акции.

В соответствии со спецификацией XML (и спецификацией XSLT), пробельными символами являются #x20, #x9, #xD и #xA.

JSP-документ содержит элемент jsp:root в качестве корневого элемента. Элемент root содержит атрибут xmlns, который даёт возможность использовать стандартные элементы. Кроме того, root это место, где будут вставляться атрибуты пространства имён для директив taglib.

Все библиотеки тэгов, используемые в JSP-документе, представлены в элементе root с помощью дополнительных атрибутов xmlns.

Элемент root содержит один мандатный атрибут - версию спецификации JSP, используемой данной страницей. Никакие иные атрибуты для этого элемента не определены.

<jsp:root

xmlns:jsp="http://java.sun.com/JSP/Page"

xmlns:prefix1="URI-для-taglib1"

xmlns:prefix2="URI-для-taglib2"... >

version="1.2">

JSP-страница

</jsp:root>

Атрибут xmlns специальной библиотеки тэгов в форме xml:префикс='uri' идентифицирует библиотеку тэгов через значение uri. Значение uri может иметь две формы, "uri" или "urn:jsptld:путь".

Если значение uri имеет форму "urn:jsptld:путь", тогда TLD определяется в соответствии с механизмом из Раздела JSP.7.3.2.

Если значение uri является обычным "uri", тогда путь определяется путём сравнения с указанным отображением в web.xml, расширенным с использованием неявного отображения в упакованные библиотеки тэгов.

Элемент jsp:directive.page

Элемент jsp:directive.page определяет несколько зависящих от страницы свойств и передаёт их JSP-контейнеру. Этот элемент обязан быть потомком элементаroot и появляться в начале JSP-документа.

Его синтаксис:

<jsp:directive.page список_атрибутов_директивы_page />

где список_атрибутов_директивы_page\page_directive_attr_list.

Интерпретация элемента jsp:directive., а его областью видимости/scope является JSP-документ и любой фрагмент, включённый директивой include.

Элемент jsp:directive.include используется для замещения текста и\или кода на этапе трансляции JSP-страницы. Этот элемент может появляться в любом месте JSP-документа.

Его синтаксис:

<jsp:directive.include file="relativeURLspec\спецификация относительного URL" />

Интерпретация элемента jsp:directive.include.

XML-просмотр JSP-страницы не содержит элементов jsp:directive.include, вместо этого включённый файл разворачивается непосредственно в этом месте. Это делается для упрощения проверки.

Элемент jsp:declaration

Элемент jsp:declaration используется для объявления конструкций языка скриптинга, которые доступны всем другим элементам скриптинга. Элемент jsp:declaration не имеет атрибутов, и его тело/body - это само объявление.

Его синтаксис:

<jsp:declaration> здесь идёт объявление </jsp:declaration>

Интерпретация элемента jsp:declaration.

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

Его синтаксис:

<jsp:scriptlet> здесь - фрагмент кода </jsp:scriptlet>

Интерпретация элемента jsp:scriptlet.

Элемент jsp:expression используется для описания сложных выражений на языке скриптинга, вычисляемых на этапе ответа. Элемент jsp:expression не имеет атрибутов, и его тело - это выражение.

Его синтаксис:

<jsp:expression> здесь - выражение </jsp:expression>

Интерпретация элемента jsp:expression.

Элементы Стандартных и Специальных Акций

JSP-документ может использовать стандартные акции, описанные в Главе JSP.4. Поскольку синтаксис этих элементов уже базируется на XML, описания этой главы достаточно, за исключением того, что в шаблоне JSP-документа текст может быть описан элементом jsp:text, либо посредством элемента XML, который не является ни стандартной, ни специальной акцией.

Для полноты приведём элементы-акции:

jsp:useBean

jsp:setProperty

jsp:getProperty

jsp:include

jsp:forward

jsp:param

jsp:params

jsp:plugin

jsp:text

Семантика и ограничения описаны в Главе JSP.4, а интерпретация элементов скриптинга.

Библиотеки тэгов вводят новые элементы атрибутам xmlns или элементом jsp:root, а их синтаксис и семантика.

Элемент акции, который может принимать атрибут времени запроса, принимает аргумент для этого атрибута в форме "%= text %" (пробелы вокруг text не нужны, и отметьте отсутствие '<' и '>'). Text, после применения кавычек (как и в любом другом документе XML), является выражением.

Элемент jsp:text

Элемент jsp:text можно использовать для включения шаблонных данных в представление XML.

Элемент jsp:text не имеет атрибутов и может появляться в любом месте, где могут появляться шаблонные данные.

Его синтаксис:

<jsp:text> шаблонные данные </jsp:text>

При интерпретации элемента jsp:text, его содержимое передаётся текущему значению out/вывода. Это очень напоминает работу элемента xsl:text из XSLT.

Другие XML-Элементы

Синтаксис XML для JSP-страниц допускает также появление XML элементов, которые не представляют ни стандартных, ни специальных акций, в любом месте, где может появляться jsp:text.

Интерпретация такого XML-элемента - это передача его текстуального представления текущему значению out после процессинга пробелов.

Как пример, если фрагмент JSP-документа таков:

Таблица 5.1: Пример 1 - ВводN Строки Исходный Текст

1 <hello><jsp:scriptlet>i=3;</jsp:scriptlet>

2 <hi>

3 <jsp:text> hi you all

4 </jsp:text><jsp:expression>i</jsp:expression>

5 </hi>

6 </hello>

то результат будет:

Таблица 5.2: Пример 1 - ВыводN Строки Итоговый Текст

1 <hello> <hi> hi you all

2 3 </hi></hello>

Обратите внимание на работу с пробелами.

XML-Просмотр Страницы JSP

В этом разделе описан XML-просмотр/view JSP-страницы: отображение между JSP-страницей, написанной с синтаксисом XML или JSP, и XML-документом, описывающим её.

JSP-Документы

XML-просмотр JSP-страницы, написанной с синтаксисом XML, очень похож на оригинал JSP-страницы.

Выполняются только две трансформации:

Все директивы include разворачиваются в JSP-фрагменты.

Если JSP-контейнер поддерживает атрибут jsp:id, этот атрибут добавляется.

Страницы JSP и Синтаксис JSP

XML-просмотр JSP-страницы, написанной с синтаксисом XML, определяется следующей трансформацией:

все директивы include разворачиваются в JSP-фрагменты;

элемент jsp:root добавляется в качестве корневого, с соответствующим атрибутом xmlns:jsp, и директива taglib конвертируется в атрибуты xmlns: элемента jsp:root;

объявления, скриптлеты и выражения конвертируются в верные элементы XML;

конвертируются выражения атрибутов времени запроса;

кавычки JSP конвертируются в кавычки XML;

создаются элементы jsp:text для всего шаблонного текста;

если JSP-контейнер поддерживает атрибут jsp:id, этот атрибут добавляется.

Обратите внимание, что XML-просмотр JSP-страницы не имеет информации DOCTYPE;

Краткий обзор трансформации дан в Таблице JSP.5-1:

Таблица JSP.5-1 Трансформации XML-Просмотра Элемент JSP траницы XML-просмотр

<%-- комментарий --%> удалён.

<%@ page ... %> <jsp:directive.page ... />.

По выбору добавляется jsp:id.

<%@ taglib ... %>

элемент jsp:root снабжается информацией пространства имён. По выбору добавляется jsp:id.

<%@ include ... %> развёртывается в этом месте.

<%! ... %> <jsp:declaration> .... </jsp:declaration>.

По выбору добавляется jsp:id.

<% ... %> <jsp:scriptlet> ... </jsp:scriptlet>. По выбору добавляется jsp:id.

<%= ... %> <jsp:expression> ... </jsp:expression>. По выбору добавляется jsp:id.

Стандартная акция замещается синтаксисом XML уточняются выражения времени запроса; по выбору добавляется jsp:id)

Специальная акция как есть (уточняются выражения времени запроса; по выбору добавляется jsp:id)

Шаблон замещается элементом jsp:text. По выбору добавляется jsp:id.

Более детально:

JSP.5.3.3 Комментарии JSP

JSP-комментарии (в форме <%-- комментарий --%>) не передаются в XML-просмотр JSP-страницы.

Директива page

Директива page в форме:

<%@ page { атрибут="значение" }* %>

транслируется в элемент в форме:

<jsp:directive.page { атрибут="значение" }* />

Директива taglib в форме:

<%@ taglib uri="uriValue\значениеURI" prefix="префикс" %>

транслируется в атрибут xmlns:prefix элемента root JSP-документа со значением. которое зависит от uriValue. Если uriValue является относительным путём, то используемое значение будет "urn:jsptld:uriValue"; иначе uriValue используется напрямую.

Директива include

Директива include в форме:

<%@ include file="value" %>

развёртывается в JSP-фрагмент, обозначенный value. Это сделано для того, чтобы дать возможность проверять страницу.

Объявления

Объявления транслируются в элемент jsp:declaration .

<%! public String f(int i) { if (i<3) return("..."); ... } %>

транслируется в:

<jsp:declaration> <![CDATA[ public String f(int i) { if (i<3) return("..."); } ]]> </jsp:declaration>

Альтернативно мы можем использовать &lt; и записать:

<jsp:declaration> public String f(int i) { if (i&lt;3) return("..."); } </jsp:declaration>

Скриптлеты

Скриптлеты транслируются в элементы jsp:scriptlet . В XML-документе, соответствующем JSP-страницам, директивы представлены с использованием следующего синтаксиса:

<jsp:scriptlet> здесь - фрагмент кода </jsp:scriptlet>

Выражения

В XML-документе, соответствующем JSP-страницам, директивы представлены с использованием элемента jsp:expression:

<jsp:expression> здесь - выражение </jsp:expression>

Стандартные и Специальные Акции

Синтаксис элементов стандартных и специальных акций базируется на XML. Необходимы трансформации в связи с соглашениями по кавычкам и с синтаксисом выражений атрибутов времени запроса.

JSP.5.3.11 Выражения Атрибутов Времени Запроса

Выражения атрибутов времени запроса/Request-time attribute expressions имеют форму "<%= expression %>".

Хотя этот синтаксис следует синтаксису, используемому в JSP странице, он не является допустимым в XML.

Отображение XML для таких выражений - это значение в форме "%= выражение'%", где соглашение по кавычкам спецификации JSP конвертировано в соглашение по кавычкам XML.

Шаблонный Текст и Элементы XML

Весь текст, который не интерпретируется JSP-транслятором, конвертируется в тело/body элемента jsp:text. Как следствие, никакие XML-элементы в форме, не будут появляться в XML-просмотре JSP-странице, написанной с синтаксисом JSP.

Атрибут jsp:id

JSP-контейнер может, по выбору, поддерживать атрибут jsp:id. Этот атрибут может присутствовать только в XML-просмотре JSP-страницы и может использоваться для повышения качества сообщений об ошибках времени трансляции. Он вводится по выбору, и соответствующий JSP-контейнер может выбрать, поддерживать его или нет.

В JSP-контейнере, поддерживающем атрибут jsp:id, XML-просмотр любой JSP-страницы будет содержать дополнительный атрибут jsp:id во всех XML-элементах. Этому атрибуту даётся значение, уникальное среди всех элементов XML-просмотра. См. детали в Главе 10.

Проверка XML-Просмотра Страницы JSP

XML-просмотр JSP-страницы это документ, связанный с пространством имён, и он не может быть проверен относительно ОТД/DTD (Определение Типа Данных), за исключением лишь наиболее простых случаев.

Чтобы уменьшить конфликты и возможные нежелательные последствия, XML-просмотр JSP-страницы не будет включать DOCTYPE. Однако пока ОТД могут содержать некоторое значение в качестве документации, Приложение JSP.C содержит описания и DTD, и XSchema JSP-документов.

Есть несколько механизмов с участием пространства имён, которые могут использоваться для проверки XML-просмотра JSP-страниц. Самым популярным механизмом является язык XML Schema консорциума W3C, но подойдут также и другие, включая некоторые простейшие, которые, например, могут использовать только некоторые элементы, или, напротив, которые не используют их. Проверщик TagLibraryValidator для библиотеки тэгов разрешает инкапсуляцию этих сведений в библиотеке тэгов.

TagLibraryValidator работает в XML-просмотре JSP-страницы. Если страница создана с синтаксисом JSP, этот просмотр не предоставляет никаких деталей о шаблонных данных (всё группируется внутри элементов jsp:text), но отдельные детали могут быть описаны при использовании JSP документов. Аналогично, когда XSLT-трансформация применяется к JSP документу, XML-фрагменты будут нормально видимы, в то время как содержимое элементов jsp:text - нет.


Подобные документы

  • Особенности разработки Web-страницы, с использованием Microsoft Word. Алгоритм работы: сохранение документа Word, как веб-страницы; просмотр веб-страницы, создание гиперссылок. Настройка и проверка Web-страницы с помощью программы Internet Explorer.

    контрольная работа [2,4 M], добавлен 03.04.2010

  • Возможности использования Word для создания web-страницы. Использование таблицы и шаблонов оформления документа. Создание гиперссылок и закладок в Word. Обзор визуальных и текстовых редакторов для верстки веб-страниц. Веб-презентация в PowerPoint.

    реферат [312,6 K], добавлен 06.04.2010

  • Установка начальной (домашней) страницы браузера. Понятие сокета, гиперссылки. Отличие Internet от любой другой компьютерной сети. Способы ускорения загрузки Web-страниц. Виды адресации в Internet. Просмотр страницы в виде программы на языке HTML.

    лабораторная работа [4,0 M], добавлен 05.05.2015

  • Характеристика принципов создания html-страниц и связывания их ссылками так, чтобы можно было произвольным образом переходить от одной страницы к другой. Применение тегов форматирования текста и заголовка окна. Этапы создания html-страницы с таблицей.

    контрольная работа [16,0 K], добавлен 19.06.2014

  • Преимущества использования Word при создании веб-страниц. Его публикация Word в библиотеке документов. Преобразование документа Word в веб-страницу. Функции HTML-конвертора Word97. Пересмотр документа Word и веб-страницы. Отображение закладок в документе.

    реферат [23,6 K], добавлен 06.04.2010

  • Браузер как программное обеспечение для просмотра веб-сайтов, то есть для запроса веб-страниц, их обработки, вывода и перехода от одной страницы к другой. Теги a, img, Script и Style. Используемые технологии Java. Разработка и реализация программы.

    дипломная работа [571,4 K], добавлен 07.07.2013

  • История html. Гипертекст. Структура web-страницы. Переход внутри одного документа. Переход к другому документу. Правила синтаксиса. Кодирование символов. Использование символов. Управление цветом. Конструктор документов. Способы определения таблиц стилей.

    дипломная работа [911,3 K], добавлен 25.02.2005

  • Преимущества языка PHP и структура базы данных. Схема алгоритма и внешний вид главной страницы и страниц сайта, страницы с независимым рейтингом. Анализ типичных ошибок в программах. Расчёт себестоимости и трудоёмкости решаемой задачи, листинг программы.

    дипломная работа [4,1 M], добавлен 22.07.2015

  • Язык разметки гипертекстовых страниц HTML. Обеспечение доступности Web-страницы, представление текста и графики. Основные правила и этапы создания сайта, выбор структуры страницы. Оценка экономической целесообразности использования HTML-редакторов.

    дипломная работа [86,7 K], добавлен 25.03.2013

  • Понятие web-страницы, классификация. Принципы создания и основные элементы. Пример контента сайта "Академия детства". Стандарты разработки дизайна для сайтов дошкольных учреждений. Шаблон главной страницы. Программный инструментарий по разработке.

    курсовая работа [409,2 K], добавлен 13.01.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.