Java Platform, Enterprise Edition (Java EE) 8
Учебник по Java EE

Назад Вперёд Содержание

Что такое Facelets?

Facelets — это мощный, но легковесный язык объявлений страниц, который используется для создания представлений JavaServer Faces с использованием HTML-шаблонов и построения деревьев компонентов. Особенности Facelets включают в себя следующее:

  • Использование XHTML для создания веб-страниц

  • Поддержка библиотек тегов Facelets в дополнение к библиотекам тегов JavaServer Faces и JSTL

  • Поддержка языка выражений (EL)

  • Шаблонизация для компонентов и страниц

Преимущества Facelets для разработки крупномасштабных проектов:

  • Поддержка повторного использования кода с помощью шаблонов и составных компонентов

  • Функциональная расширяемость компонентов и других серверных объектов за счёт кастомизации

  • Ускорение компиляции

  • Валидация EL во время компиляции

  • Высокопроизводительная отрисовка

Короче говоря, использование Facelets сокращает время и усилия, которые необходимо затратить на разработку и развёртывание.

Представления Facelets обычно создаются как страницы XHTML. Реализации JavaServer Faces поддерживают страницы XHTML, созданные в соответствии с XHTML Transitional Document Type Definition (DTD), как указано в http://www.w3.org/TR/xhtml1/#a_dtd_XHTML-1.0-Transitional. Общепринято, что веб-страницы, созданные с использованием XHTML, имеют расширение .xhtml.

JavaServer Faces поддерживает различные библиотеки тегов для добавления компонентов на веб-страницу. Для поддержки механизма библиотеки тегов JavaServer Faces Facelets использует пространства имён XML. Таблица 8-1 содержит список библиотек тегов, поддерживаемых Facelets.

Таблица 8-1 Библиотеки тегов, поддерживаемые Facelets

Библиотека тегов

URI

Префикс

Пример

Содержание

Библиотека тегов Facelets JavaServer Faces

http://xmlns.jcp.org/jsf/facelets

ui:

ui:component

ui:insert

Теги для шаблонов

Библиотека тегов HTML для JavaServer Faces

http://xmlns.jcp.org/jsf/html

h:

h:head

h:body

h:outputText

h:inputText

Теги JavaServer Faces для всех объектов UIComponent

Базовая библиотека тегов JavaServer Faces

http://xmlns.jcp.org/jsf/core

f:

f:actionListener

f:attribute

Теги для кастомных действий JavaServer Faces, которые не зависят от какого-либо конкретного инструмента отрисовки

Библиотека сквозных (pass-through) тегов

http://xmlns.jcp.org/jsf

jsf:

jsf:id

Теги поддержки HTML5-совместимой разметки

Библиотека сквозных (pass-through) атрибутов тегов

http://xmlns.jcp.org/jsf/passthrough

p:

p:type

Теги поддержки HTML5-совместимой разметки

Библиотека тегов составных компонентов

http://xmlns.jcp.org/jsf/composite

cc:

cc:interface

Теги поддержки составных компонентов

Базовая библиотека тегов JSTL

http://xmlns.jcp.org/jsp/jstl/core

c:

c:forEach

c:catch

Основные теги JSTL 1.2

Библиотека тегов функций JSTL

http://xmlns.jcp.org/jsp/jstl/functions

fn:

fn:toUpperCase

fn:toLowerCase

Теги функций JSTL 1.2

Facelets предоставляет два пространства имён для поддержки HTML5-совместимой разметки. Подробнее см. HTML5-совместимая разметка.

Facelets поддерживает теги составных компонентов, для которых вы можете объявить кастомные префиксы. Для получения дополнительной информации о составных компонентах см. Составные компоненты.

Префиксы пространства имён, показанные в таблице, являются условными, не обязательными. Как всегда, когда вы объявляете пространство имён XML, вы можете указать любой префикс на своей странице Facelets. Например, вы можете объявить префикс для библиотеки тегов составного компонента как

xmlns:composite="http://java.sun.com/jsf/composite"

вместо

xmlns:cc="http://java.sun.com/jsf/composite"

Основываясь на поддержке JavaServer Faces для синтаксиса языка выражений (EL), Facelets использует выражения EL для ссылки на свойства и методы Managed-бинов. Выражения EL можно использовать для связывания объектов компонентов или значений с методами или свойствами Managed-бинов, которые используются в качестве вспомогательных бинов. Для получения дополнительной информации об использовании выражений EL см. Использование EL для ссылки на Managed-бины.


Назад Вперёд Содержание
Логотип Oracle  Copyright © 2017, Oracle и/или её дочерних компаний. Все права защищены. Версия перевода 1.0.5 (Java EE Tutorial — русскоязычная версия)