Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2013_1 / КСТ / Разработка веб-приложений.pdf
Скачиваний:
160
Добавлен:
23.02.2015
Размер:
2.74 Mб
Скачать

Атрибут value задаёт имя свойства внешнего объекта, куда или откуда будут поступать данные.

Атрибут binding позволяет задать ссылку на свойство внешнего объекта, который

содержит все необходимые атрибуты компонента. Это позволяет устанавливать атрибу-

ты компонентов программно в период исполнения приложения, например, для верифи-

кации и преобразования поступивших данных.

6.2.Использование компонент для таблиц баз данных

Компонент dataTable используется для отображения на странице клиента со-

держимого таблиц БД в табличном формате. Тег циклически просматривает список.

Атрибут value="#{имяView.allOfИмя}" определяет список объектов, отображаемых в таблице. Атрибут var="item" задаёт имя местной переменной, которая будет ссылаться

на очередной просматриваемый объект из списка. Например:

<h:dataTable value="#{citiesView.allOfCities}" var="item">

. . . . . . . . . . . .

</h:dataTable>

Вложенные в dataTable теги column определяют состав колонок таблицы, например:

<h:column>

<f:facet name="header"> <h:outputText value="IdCity"/>

</f:facet>

<h:outputText value="#{item.idCity}"/> </h:column>

Заголовки колонок определяются тегом <f:facet name=”header”>, содержимое колонки — тегом <h:outputText value=”#{item.idCity}”/>. Атрибут name тега facet опре-

деляет расположение фасета в таблице: название колонки (header), подвала таблицы (footer) и заголовка таблицы (caption). Например, следующий фрагмент задаёт итого-

вую строку таблицы для выдачи значения #{cart.total}:

<h:column>

. . . . .

</h:column>

<f:facet name="footer" <h:panelGroup>

<h:outputText value="Total}"/> <h:outputText value="#{cart.total}" />

<f:convertNumber type="currency" /> </h:outputText>

</h:panelGroup>

</f:facet>

Тег h:column позволяет управлять стилями заголовков и подвалов при помощи атрибутов headerClass и footerClass. Эти атрибуты воспринимают список классов сти-

лей CSS, применяемый к клеткам заголовка и подвала отображаемой таблицы.

Тег f:facet может иметь только один вложенный потомок, поэтому для группы тегов используется компонент h:panelGroup.

62

Атрибут value тега h:dataTable задаёт данные для отображения в таблице на странице клиента. Он может быть одним из следующих типов:

list of beans,

array of beans,

javax.faces.model.DataModel,

java.sql.ResultSet,

javax.servlet.jsp.jstl.sql.ResultSet,

javax.sql.RowSet.

Все источники данных для компонент Data имеют создаваемую автоматически

или вручную оболочку DataModel. Компонент Data позволяет отображать не весь на-

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

Тег h:dataTable может иметь набор необязательных атрибутов для управления

стилями:

captionClass — стиль заголовка таблицы;

columnClasses — стиль всех колонок;

footerClass — стиль подвала;

headerClass — стиль заголовка колонок;

rowClasses — стиль строк таблицы;

styleClass — стиль для всей таблицы.

Каждый из этих атрибутов может иметь список стилей. Для атрибутов columnClasses или rowClasses элементы списка используются по очереди в порядке следования.

6.3.Использование тегов библиотеки Core

Теги библиотеки Core используются для выполнения действий, которых нет в библиотеке HTML. Многие теги используются как вложенные в родительский блочный тег. В табл. 6.2 приведены сведения о тегах библиотеки Core.

 

 

Таблица 6.2

 

Теги библиотеки Core

 

 

 

Категория тега

Тег

Функции

Обработка

f:actionListener

Добавить слушателя actionListener

событий

 

в родительский компонент

 

f:phaseListener

Добавить слушателя phaseListener

 

 

на страницу

 

f:setPropertyActionListener

Регистрация специального слушателя

 

 

для пересылки данного в бин

 

 

при отправке данных с формы

 

f:valueChangeListener

Добавить слушателя изменения данных

 

 

в родительском компоненте

63

 

 

Окончание табл. 6.2

 

 

 

Категория тега

Тег

Функции

Атрибуты

f:attribute

Добавить атрибут конфигурации

конфигурирования

 

родительскому компоненту

Преобразование

f:converter

Добавить конвертер

данных

 

родительскому компоненту

 

f:convertDateTime

Добавить конвертер дат и времен

 

 

родительскому компоненту

 

f:convertNumber

Добавить конвертер для чисел

 

 

родительскому компоненту

Фасеты

f:facet

Добавить вложенный компонент

 

 

в тег со специальной связью

 

f:metadata

Регистрировать фасет

 

 

для родительского компонента

Локализация

f:loadBundle

Задние ResourceBundle

 

 

для отображения строк

Подстановка

f:param

Подстановка параметров в тег

параметров

 

MessageFormat и добавление

 

 

пары «ключ – значение» в URL

Представление

f:selectItem

Один элемент списка в компонентах

элементов списка

 

SelectOne или SelectMany

 

f:selectItems

Набор элементов списка в компонентах

 

 

SelectOne или SelectMany

Проверки

f:validateDoubleRange

Добавить проверку диапазона чисел

 

 

 

 

f:validateLength

Добавить проверку длины данных

 

 

Adds a LengthValidator to a component

 

f:validateLongRange

Добавить проверку диапазона длин

 

 

 

 

f:validator

Добавить пользовательскую проверку

 

 

 

 

f:validateRegEx

Добавить проверку регулярным

 

 

выражением

 

f:validateBean

Поручить проверку

 

 

локальному экземпляру бина

 

f:validateRequired

Потребовать наличие

 

 

значения в компоненте

Ajax

f:ajax

Связать операции Ajax

 

 

с одним или группой компонент

События

f:event

Разрешить установку компоненту

 

 

ComponentSystemEventListener

64

Соседние файлы в папке КСТ