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

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

>

Сетка и таблицы

Очень часто данные должны быть отображены в виде таблицы (табл. 10.9). JSF содержит очень мощный тег , который выполняет перебор списка элементов и создает таблицу. Таблицы также могут быть использованы для создания макета пользовательского интерфейса, основанного на сетке. В этом случае вы можете применить теги и для демонстрации компонентов. Тег предназначен для отображения таблицы, содержащей данные некоторых моделей вашего приложения, в то время как применяется для макетов и размещения элементов.


Таблица 10.9. Теги сетки и таблиц
ТегКлассОписание
HtmlDataTableПредставляет набор повторяющихся данных, которые будут отрисованы в HTML-элементе
HtmlColumnОтрисовывает одну колонку данных внутри компонента
HtmlPanelGridОтрисовывает HTML-элемент
HtmlPanelGroupЯвляется контейнером для компонентов, которые могут быть встроены в

В отличие от тег не использует базовую модель данных для отображения строк данных. Скорее, этот компонент является контейнером макета, который отрисовывает другие компоненты JSF в сетке из строк и столбцов. Вы можете указать, сколько столбцов используется для отображения компонентов, и определит, сколько понадобится строк. Атрибут columns хранит количество столбцов, которое необходимо отрисовать, прежде чем отрисовывать новую строку. Например, в результате действия следующего кода будет отрисовано три столбца и две строки (отобразятся сначала строки, а затем столбцы):

>

>··

>··

>··

>··

>··

>··

>

Если вы хотите объединить несколько компонентов в один столбец, то можете использовать тег , что отрисует всех его потомков как один компонент. Вы также можете определить верхний и нижний колонтитулы с помощью специального тега :

>

>··

>····

>··

>··

>··

>··

>··

>··

>··

>··

>····h: outputText value="Footer"/>

>··

>

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


Сообщения об ошибках

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


Таблица 10.10. Теги сообщений
ТегКлассОписание
HtmlMessageОтрисовывает одно сообщение об ошибке
HtmlMessagesОтрисовывает все ожидающие сообщения об ошибке

Сообщения могут иметь различную степень важности (INFO, WARN, ERROR и FATAL), каждая из которых соответствует стилю CSS (infoStyle, warnStyle, errorStyle и fatalStyle). Таким образом, каждый тип сообщения может иметь разный тип отрисовки. Например, следующий код будет отображать все сообщения в красном цвете:


>

>

>···Введите название:

>···

>···

>


На экране появится поле ввода, привязанное к свойству компонента-подложки. Это свойство обязательно для заполнения, поэтому, если пользователь нажимает кнопку Сохранить, не заполняя его, будет отображено сообщение об ошибке.


Разное

Существуют и другие теги, которые не имеют никакого графического представления, но имеют эквиваленты в HTML. Родной HTML-тег может быть использован и будет работать. Для тегов JSF доступны дополнительные атрибуты, упрощающие разработку. Так, например, вы можете добавить на страницу библиотеку JavaScript с помощью стандартного HTML тега