Изучаем Java EE 7 - [155]

Шрифт
Интервал

>

>

Заголовок

Заголовок страницы JSF можно рассматривать как механизм импорта Java: это место, где вы объявляете набор библиотек компонентов, которые будет использовать страница. В следующем фрагменте кода после пролога на XML следует объявление типа документа (DTD) xhtml1-transitional.dtd. Корневой элемент страницы — html из пространства имен http://www.w3.org/1999/xhtml. Далее идет набор пространств имен XML, объявляющий библиотеки тегов, используемых на страницах JSF с определенным префиксом (h и f):

>

>·········"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

>

>······xmlns: h="http://xmlns.jcp.org/jsf/html"

>······xmlns: f="http://xmlns.jcp.org/jsf/core">

В табл. 10.2 перечислены все библиотеки тегов, которые определены в спецификациях JSF и JSTL и могут быть использованы на странице Facelets. Там есть основные компоненты JSF Core и графические компоненты HTML, а также библиотеки шаблонов и композитные библиотеки (позволяющие создавать пользовательские компоненты). Есть также библиотеки ядра и библиотеки функций, которые являются частью JSTL.


Таблица 10.2. Библиотеки тегов, допускаемые к использованию в Facelets PDL
URIПрефиксОписание
http://xmlns.jcp.org/jsf/htmlhБиблиотека классов содержит компоненты и их HTML-отрисовки (h: commandButton, h: comandLink, h: inputText и т. д.)
http://xmlns.jcp.org/jsf/corefБиблиотека содержит пользовательские действия, которые независимы от созданных ранее отрисовок (f: selectItem, f: validateLength, f: convertNumber и т. д.)
http://xmlns.jcp.org/jsf/faceletsuiТеги этой библиотеки добавляют поддержку шаблонов
http://xmlns.jcp.org/jsf/compositecompositeБиблиотека тегов применяется для объявления и определения составных компонентов
http://xmlns.jcp.org/jsp/jstl/corecFacelets-страницы могут использовать некоторые основные библиотеки тегов JSP (, или )
http://xmlns.jcp.org/jsp/jstl/functionsfnFacelets-страницы могут использовать все функции библиотек тегов JSP

Body

Как показано в листинге 10.7, тело страницы JSF описывает набор хорошо организованных графических (и неграфических) компонентов, которые, после того как оказались на сервере, предоставят вам требуемое HTML-представление. Страница JSF — это дерево компонентов, таких как , которые были преобразованы в дерево компонентов пользовательского интерфейса. Компонент пользовательского интерфейса — это класс Java, который явно или неявно наследует от абстрактного класса javax.faces.component.UIComponent. Этот класс определяет методы навигации по дереву компонентов, взаимодействуя с компонентами-подложками, а также проверяя и преобразуя данные так же, как и механизм отрисовки.

Спецификация JSF предоставляет несколько встроенных HTML-компонентов и компонентов ядра, необходимых для создания веб-приложения. Все эти компоненты наследуют от UIComponent и перечислены в табл. 10.3. Обратите внимание, что все классы определены в пакете javax.faces.component. Далее в разделе «HTML-компоненты JSF» вы увидите HTML-компоненты, которые располагаются в javax.faces.component.html.


Таблица 10.3. Стандартные компоненты пользовательского интерфейса JSF
КомпонентОписание
UIColumnПредставляет колонку в родительском компоненте UIData
UICommandПредставляет графические компоненты, такие как кнопки, гиперссылки или меню
UIComponentБазовый класс для всех компонентов пользовательского интерфейса в JSF
UIComponentBaseКласс, созданный для удобства, реализующий конкретное поведение по умолчанию для всех методов, определенных в UIComponent
UIDataПоддерживает связывание данных с коллекциями объектов, часто применяется для отрисовки таблиц, списков и деревьев
UIFormПредставляет форму пользовательского ввода и является контейнером других компонентов
UIGraphicВыводит изображения
UIInputПредставляет компоненты, предназначенные для ввода данных, такие как поля ввода, текстовые области и т. д.
UIMessage, UIMessagesОтвечает за вывод одного или нескольких сообщений для определенного UIComponent
UIOutcomeTargetПредставляет графические кнопки и гиперссылки, позволяющие добавлять страницу в закладки
UIOutputПредставляет компоненты, предназначенные для вывода, такие как метки или другие формы вывода текста
UIPanelПредставляет компоненты пользовательского интерфейса, которые служат контейнерами для других компонентов, не требуя при этом отправки формы
UIParameterПредставляет информацию, которая не требует отрисовки
UISelectBooleanПредставляет флажки
UISelectItem, UISelectItemsПредставляет один или несколько элементов в списке
UISelectOne, UISelectManyПредставляет такие компоненты, как раскрывающиеся списки или группы флажков, и позволяют выбирать один или несколько элементов
UIViewActionПредставляет вызов метода, который происходит при запросе обработки жизненного цикла
UIViewParameterПредставляет двунаправленное связывание между параметром запроса и свойством компонента-подложки
UIViewRootПредставляет корень дерева компонентов и не имеет графической отрисовки

Рекомендуем почитать
Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


MFC и OpenGL

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


Симуляция частичной специализации

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


Обработка событий в С++

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


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.