На главную страницу
Форум txt.version   




Статья :: Приложение Е - Изменения.

Приложение JSP.E

Изменения


В этом приложении перечислены изменения в Спецификации JavaServer Pages.
Это приложение является ненормативным.

E.1 Изменения в PFD 2 и Финальном Проекте/Final Draft

Это окончательная версия, одобренная JCP Executive Comittee; документ был обновлён для того, чтобы отразить этот статус. Все полосы изменений/change bars были переустановлены.

E.1.1 Добавлен Механизм jsp:id

Был добавлен новый механизм, позволяющий нуждающимся JSP-контейнерам предоставлять расширенную информацию об ошибках времени трансляции из классов TagLibraryValidator. Запись TagLibraryValidator.validate() была слегка модифицирована и был добавлен новый класс ValidationMessage. Эти объекты действуют через новый атрибут jsp:id, который по выбору поддерживается JSP-контейнером и представляется только через вид XML страницы JSP. Были затронуты: Глава JSP.5 (в основном Раздел JSP.5.3.13), Глава JSP.7 (Раздел JSP.7.5.1.2) и Глава JSP.10 (Раздел JSP.10.5.5).

E.1.2 Другие Незначительные Изменения

  • height & width стали rtexprs. Был затронут Раздел JSP.4.7.
  • Добавлена конверсия значения атрибута от String-литерала к short и Short и откорректирована конверсия для char и Character в Таблице JSP.2-2.
  • Откорректирован оператор допустимых возвращаемых значений doStartTag() для Tag, IterationTag и BodyTag. PFD2 некорректно указывал, что "emtpy/пустые" тэги могут возвращать только SKIP_BODY; корректное утверждение: тэги, чьё body-content - "empty", могут возвращать только SKIP_BODY.


E.1.3 Разъяснение Роли id

Мандатные интерпретации атрибута "id" в Разделе JSP 2.13.3 (что id представляет уникальные id в пределах страницы) и атрибута "scope" в Разделе JSP 2.13.4 (касающиеся области видимости вводимого значения) не форсировались большинством (возможно, всеми?) контейнерами и были несовместимы с распространённой практикой разработки библиотек специальных тэгов. Именно эти разделы интерпретировались как локализованные утверждения о стандартной акции jsp:useBean. Это было сделано недвусмысленным, и эти разделы были перемещены в Главу 4, что отразить данные изменения. Были изменены Разделы JSP.2.13.3 и JSP.2.13.4 и Глава 4.

E.1.4 Разъяснение Множественных Запросов/Multiple Requests и Потоков

  • Разъясняется, что экземпляры TLV должны надёжно распределяться по потокам. Это изменение сделано в Разделе JSP.10.5.5.
  • Разъясняется, что экземпляр обработчика тэга активно обрабатывает только один запрос за раз; это происходит, если обработчик тэга инстанциируется afresh через вызовы new(), но это требует произнесения/spelling, как только вводится пулинг/pooling обработчика тэга. Это разъяснение действует для Раздела JSP.10.1.

E.1.5 Разъяснение JSP-Документов

Несколько разъяснений к Главе 5.

  • Подтверждено, что в JSP-странице в синтаксисе XML важен URI для основных акций jsp, а не префикс.
  • Разъяснено, что <?xml ... ?> не требуется (как указано в XML spec).
  • Дополнительно разъясняется интерпретация пробела в JSP-документах.

E.1.6 Разъяснение по Хорошо Известным Библиотекам Тэгов

Разъяснено, что автор библиотеки тэгов может указать в комментариях, что обработчик тэга может показывать на этапе прогона только некоторый поднабор информации, описанной через класс реализации обработчика тэга. Это применяется для специализированных реализаций известных библиотек тэгов, таких как стандартная библиотека тэгов JSP. Это разъяснение повлияло на описание элемента tag в Разделе JSP.7.4 и на описание Tag.setParent() и TagSupport.findAncestorWithClass(). Удалён последний параграф в Разделе JSP.7.3.9; у нас нет в планах удалять хорошо известный URI-механизм. В целом "прочищено" описание вычисления отображения taglib между URI и путём ресурса TLD; предыдущая версия была дебильной.

E.1.7 Разъяснено Влияние Блоков

Разъяснено правильное использование и роль блок-конструкций в скриптлетах и вложенных акциях. Это незначительно изменило Разделы JSP.2.3.3, JSP.6.4, JSP.6.4.4 и JSP.10.5.9.

E.1.8 Другие Небольшие Разъяснения

  • Более точно указано, что размещение иконок делается относительно TLD-файла. Был изменён Раздел JSP.7.4.
  • Удалён ненормативный комментарий о JSR-045 в Разделе JSP.2.1.6.
  • Удалён комментарий о том, что errorPages должны быть JSP-страницами, они могут также быть static-объектами. Изменена Таблица JSP.2-1.
  • Подтверждено, что прослушиватели событий/event listeners в библиотеке тэгов регистрируются до старта приложения. Изменён Раздел JSP.7.1.2.2.
  • Разъяснено, когда нужно использовать соглашения по кавычкам для значений атрибутов. Разъяснено, что значения атрибутов времени запроса следуют тем же правилам. Изменены Разделы JSP.2.3.5, JSP.2.6 и JSP.2.13.1.
  • Разъяснена интерпретация соответствующих спецификаций для директив include и для акций jsp:include и jsp:forward. Изменены Разделы JSP.2.2.1, JSP.2.10.4, JSP.4.4 и JSP.4.5
  • Исправлено несоответствие протокола прекомпиляции в Разделе JSP.8.4.2, касающееся того, направляются ли запросы странице или нет: не направляются.
  • Разъяснено, что субэлемент <type> в <attribute> в файле TLD должен соответствовать ему же в свойстве лежащего в его основе компонента JavaBean.
  • Разобрано использование ClassLoader.getResource() при получении данных от класса TagLi-braryValidator.

E.2 Различия между 1.2 PFD 1b и PFD 2

Change bars/полосы изменений используются в почти всех главах для обозначения изменений между PFD 1b и PFD 2. Исключение - главы 9 и 10, которые автоматически генерируются из Java-источников и не имеют полос изменений. Большинство изменений - семантические, но некоторые из них - редакторские поправки.

E.2.1 Элементы, Добавленные к Дескриптору Библиотеки Тэгов

Дескриптор Библиотеки Тэгов/Tag Library Descriptor (TLD) был расширен описательной информацией для пользователей библиотеки тэгов. Конкретнее, TLD можно теперь непосредственно вставить (например, используя таблицу стилей XSLT) в документ конечного пользователя. Был добавлен новый элемент <example> в качестве необязательного субэлемента в <tag>.

Существующий элемент <description> был сделан верным необязательным субэлементом в <variable>, <attribute> и в <validator>.

Были изменены Раздел JSP.7.4 и Приложение JSP.C. ОТД TLD 1, и Схемы/Schemas также были изменены.

E.2.2 Изменён Способ Кодировки Информации о Версии в TLD

Этот механизм, используемый для предоставления в TLD информации о версии, был изменён.

В PFD версия кодировалась в пространстве имён. В PFD2 не предполагается изменять пространство имён, если только это не изменения несовместимости, и версия кодируется в элементе <jsp-version>, который теперь является мандатным.

Новый URI для пространства имён:  "http://java.sun.com/JSP/TagLibraryDescriptor".

Были изменены Глава JSP.7 и Приложение JSP.C.

E.2.3 Назначение String-Литералов Атрибутам Object

Теперь можно назначать строковые литералы атрибуту, определённому как имеющий тип Object, а также свойству типа Object. Все верные конвертации типов описаны в Разделе JSP.2.13.2 и используются по ссылке в семантике <jsp:setProperty>.

E.2.4 Разъяснение по Верным Именам Префиксов, Акций и Атрибутов

Мы дали разъяснение по верным именам для префиксов, используемых в директивах taglib, именам элементов, используемых в акциях, и именам атрибутов.

E.2.5 Разъяснение по Деталям Пустых Акций

В спецификации JSP 1.1 различаются пустые/empty и непустые/non-empty акции, хотя лучше было бы дать описание. К сожалению, эскиз/проект JSP 1.2 PFD1 не улучшил это описание. Этот проект улучшил описание, указав точнее, какие методы при этом вызываются. Были изменены Главы 2, 7 и 10.

E.2.6 Коррекция Синтаксиса, Относящегося к XML

  • Мы разъяснили несколько вопросов, относящихся к синтаксису XML для JSP-страниц и к XML-просмотру/view JSP-страницы. Большинство изменений сделаны в Главе 5.
  • Удалён несуществующий атрибут flush в директиве include в Разделе JSP.5.2.4.
  • Название jsp:cdata изменено на jsp:text, поскольку его семантика очень похожа на элемент text в XSLT.
  • Изменён способ кодировки информации о версии в синтаксисе XML; используемый URI теперь не зависит от версии, и вместо этого имеется обязательный атрибут версии в jsp:root.
  • Разъясняется, что JSP-комментарии в JSP-странице в синтаксисе JSP не сохраняются в XML-просмотре страницы.
  • Разъясняется, что JSP-страницы в синтаксисе XML не должны иметь DOCTYPE.
  • Разъясняется использование директив include в XML-просмотре страницы JSP.
  • Разъясняется формат URI, используемых в атрибутах xmlns для директив taglib, и исправлено Приложение JSP.B.

E.2.7 Другие Изменения

Мы разъяснили также несколько других несоответствий и ошибок.

  • Явно указано, какие атрибуты резервируются (Раздел JSP.2.3.5) и какие префиксы резервируются (Раздел JSP.2.10.2).
  • Добавлен комментарий к ОТД для TLD, указывающий, что DOCTYPE необходим и каково его значение. Значение не изменилось.
  • Удалён параграф в конце Раздела JSP.7.3.9, в котором был ненормативный комментарий о будущем "хорошо известных URI".
  • Исправлено описание верных значений, которые могут передаваться атрибуту flush акции include, в Разделе JSP.4.4.
  • Разъясняется, что <jsp:param> может появляться только внутри <jsp:forward>, <jsp:in-clude> и <jsp:params>.
  • Разъясняется, что <jsp:params> и <jsp:fallback> могут появляться только внутри <jsp:plugin>.
  • Разрешён конфликт в Разделе JSP.4.4 между Servlet и JSP-спецификацией, касающийся того, как модифицировать шапки/headers во включённых/included акциях.
  • Раздел 10.1.1 в PFD1 некорректно описывал верные возвращаемые значения doStartTag() в обработчиках тэгов, которые (обраб.) реализуют интерфейс BodyTag. Корректными значениями являются SKIP_BODY, EVAL_BODY_INCLUDE и EVAL_BODY_BUFFER. В Разделе это теперь указывается.

E.3 Различия между 1.2 PFD и 1.2 PFD 1b

PFD 1b является наброском, имеющим в основном изменения форматирования и минимум редакционных поправок. Этот проект показан только для того, чтобы легче было коррелировать изменения между последними и более ранними проектами.

Полосы изменений используются для обозначения изменений от PFD 1 к PFD 1b.

E.4 Различия между 1.2 PD1 и 1.2 PFD

Следующие изменения появились после версии Public Draft 1 в версии
Proposed Final Draft спецификации JSP 1.2.

E.4.1 Удаления

  • Удалён метод resetCustomAttributes().

E.4.2 Дополнения

  • Добавлены конструкторы и методы к JspException для поддержки rootCause (параллельно с ServletException).
  • Добавлен метод PageContext.handleException(Throwable).
  • Добавлены ссылки к JSR-045 относительно поддержки отладки.
  • Добавлен новый интерфейс TryCatchFinally для лучшего контроля над исключениями в обработчиках тэгов.
  • Добавлен неявный URI к карте TLD для упакованных библиотек тэгов. Это также предоставляет поддержку нескольких TLD внутри одного JAR-файла.
  • Атрибут pageEncoding добавлен к директиве page.
  • Добавлен материал к Главе JSP.3.
  • Добавлен класс TagValidatorInfo.
  • Добавлен Раздел JSP.2.1.7 с советами по соглашению о расширениях для файлов top и included в JSP.

E.4.3 Разъяснения

  • Объект обработчика тэга может быть создан простым “new()”; это не должен быть полностью оформленный Bean, полностью поддерживающий поведение метода java.beans.Beans.instantiate().
  • Удалена “рекомендация”, что элемент <uri> в TLD это URL на что-либо.
  • Разъяснено, что должна приниматься во внимание информация о зависимости от расширений в упакованных библиотеках тэгов.
  • Разъяснены вызов и жизненный цикл TagLibraryValidator.
  • Разъяснено, где TLD могут появляться в упакованном JAR-файле.
  • Разъяснено, где находятся response.getWriter().

E.4.4 Изменения

  • Две главы поменялись местами.
  • Улучшена и и разъяснена Глава JSP.5.
  • Директива include перемещена обратно в Главу JSP.2.
  • javax.servlet.jsp.tagext.PageInfo переименован в javax.servlet.jsp.tagext.Page-Data (для соответствия существующему TagData).
  • Добавлен параметр инициализации к проверке TagLibraryInformation в TLD путём добавления нового элемента <validator>, переименования <validatorclass> в <validator-class>, для соответствия, и добавления <init-param> как в дескрипторе Servlet web.xml.
  • Добавлен метод для передачи параметров инициализации классу проверщика/validator и убрано использование TagLibraryInfo. Добавлены String-аргументы prefix и uri в метод validate().
  • Изменены имена элементов в TLD для соответствия соглашению. Новые имена - <tag-class>, <tei-class>, <tlib-version, <jsp-version>, <short-name> и <body-content>. <info> был переименован в <description>.

E.5 Различия между 1.1 и 1.2 PD1

Следующие изменения появились между JSP 1.1 и JSP 1.2 Public Draft 1.

E.5.1 Организационные Изменения

  • Главы 8 и 10 теперь автоматически генерируются из javadoc-источников.
  • Создан новый документ, позволяющий давать более пространные описания использования технологии.
  • Создана новая глава I18N, включающая Servlet 2.3 и др. (в основном пустые в PD1).
  • Удалены приложения Implementation Notes и Future, так как они ещё не обновлены.

E.5.2 Новый Документ

Мы создали новый ненормативный документ “Using JSP Technology/Использование Технологии JSP”. Этот документ ещё обновляется до JSP 1.2 и Servlet 2.3. Мы переместили в этот документ следующее:

  • Некоторый ненормативный материал Обзора.
  • Все приложения с примерами библиотек тэгов.
  • Некоторый материал из главы Расширения Тэгов/Tag Extensions.

E.5.3 Дополнения к API

  • jsp:include может теперь указывать “flush=’false’”.
  • Сделан XML-просмотр JSP-страницы, доступный для ввода и проверки.
  • PropertyEditor.setAsText() может теперь использоваться для конвертации из строкового литерального значения атрибута.
  • Новые классы ValidatorClass и JspPage - для проверки относительно библиотек тэгов.
  • Новый интерфейс IteratorTag - для поддержки итерации без BodyContent. Добавлены две новые константы (EVAL_BODY_BUFFERED и EVAL_BODY_AGAIN), чтобы легче документировать работу протокола тэга; они были разработаны так, чтобы старые обработчики тэгов продолжали работать без изменений, но использовать старое имя для константы - EVAL_BODY_TAG - теперь не рекомендуется.
  • Добавлены классы прослушивателей/listener к TLD.
  • Добавлены элементы к TLD для исключения необходимости писать классы TagExtraInfo в самых обычных ситуациях.
  • Метод resetCustomAttributes() добавлен к интерфейсу Tag.
  • Добавлены элементы к TLD для предоставления иконок и описаний для использования в утилитах авторизации.

E.5.4 Разъяснения

  • Введены списки ошибок 1.1_a и (в работе) 1.1_b.

E.5.5 Изменения

JSP 1.2 базируется на Servlet 2.3, точнее: JSP 1.2 базируется на платформе Java 2.

E.6 Различия между 1.0 и 1.1

Спецификация JSP 1.1 создана на основе спецификации JSP 1.0. Следующие изменения были внесены между окончательным вариантом спецификации JSP 1.0 и окончательны вариантом спецификации JSP 1.1.

E.6.1 Дополнения

  • Добавлен механизм расширения переносимого тэга Дескриптором Библиотеки Тэгов/Tag Library Descriptor на базе XML и стэк обработчиков тэгов на этапе прогона. Обработчики тэгов базируются на компонентной модели JavaBeans. Уточнен семантика атрибута uri в директивах taglib.
  • flush является теперь мандатным атрибутом в jsp:include, и единственным верным значением является “true”.
  • Добавлены параметры к jsp:include и jsp:forward.
  • Появилась возможность компиляции JSP-страниц в Servlet-классы, которые могут транспортироваться из одного JSP-контейнера в другой. Добавлено приложение с примером этого.
  • Добавлен протокол прекомпиляции.
  • pushBody() и popBody() добавлены к PageContext.
  • Добавлены классы JspException и JspTagException.
  • Правильно используются термины JSP-страница, JSP-контейнер и подобные.
  • Справочник добавлен как Приложение JSP.F.
  • Глава 1 расширена так, что покрывает из 0.92 "model 1" и "model 2".
  • Прояснены некоторые детали JSP 1.0.

E.6.2 Изменения

  • Используется Servlet 2.2 вместо Servlet 2.1 (как разъяснено в Приложении B), включая распределяемые/distributable JSP-страницы.
  • jsp:plugin больше не может быть реализован простой посылкой содержимого jsp:fallback клиенту.
  • Зарезервированы все параметры запроса, начинающиеся с "jsp".

Приложение Е - Изменения.

страницы в данном разделе 
 Упаковка JSP-страниц  ОТД и Схема для Синтаксиса XML
 ОТД Дескриптора Библиотеки Тэгов  ОТД для TLD JSP 1.1
 Приложение Е - Изменения.  Приложение F - Словарь.
 Содержание  Обзор
 Синтаксис Ядра и Семантика  Вопросы Локализации
 Стандартные Акции  Документы JSP
 Скриптинг  Расширения Тэгов
 JSP-Контейнер  Основной API
 API Развёртывания Тэгов  Содержание
 right-index   


Разделы
Околокомпьютерная литература (375)
Программирование (102)
Программы (75)
ОС и Сети (49)
Интернет (29)
Аппаратное обеспечение (16)
Базы данных (6)

Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)

PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C





 
©  programming-lang.com  справочник программиста