<h:inputText value="#{loginBean.birthDate}">
<f:convertDateTime binding="#{loginBean.convertDate}" />
</h:inputText>
Java Platform, Enterprise Edition (Java EE) 8 Учебник по Java EE |
Назад | Вперёд | Содержание |
Как описано в Добавление компонентов на страницу с помощью библиотеки тегов HTML, автор страницы может привязать реализации конвертера, слушателя и валидатора к свойствам Managed-бина, используя атрибуты binding
тегов, которые используются для регистрации реализаций компонентов.
Этот метод имеет те же преимущества, что и привязка объектов компонента к свойствам Managed-бина, как описано в Связывание значений компонента и объектов со свойствами Managed-бина. В частности, привязка реализации конвертера, слушателя или валидатора к свойству Managed-бина даёт следующие преимущества.
Managed-бин может создавать реализацию, вместо того чтобы позволять автору страницы делать это.
Managed-бин может программно изменять атрибуты реализации. В случае кастомной реализации единственным способом изменения атрибутов вне класса реализации будет создание для него кастомного тега и требование от автора страницы установить значения атрибутов со страницы.
Независимо от того, привязываете ли вы конвертер, слушатель или валидатор к свойству Managed-бина, этот процесс одинаков во всех случаях.
Вложите тег конвертера, слушателя или валидатора в соответствующий тег компонента.
Убедитесь, что Managed-бин имеет свойство, которое принимает и возвращает класс реализации конвертера, слушателя или валидатора, который вы хотите привязать к свойству.
Ссылка на свойство Managed-бина с помощью выражения значения из атрибута binding
тега конвертера, слушателя или валидатора.
Для примера предположим, что вы хотите связать стандартный конвертер DateTime
со свойством Managed-бина, чтобы установить шаблон форматирования ввода пользователя в Managed-бин, а не на страницу Facelets. Сначала страница регистрирует конвертер в компоненте, вкладывая тег f:convertDateTime
в тег компонента. Затем страница ссылается на свойство с атрибутом binding
тега f:convertDateTime
:
<h:inputText value="#{loginBean.birthDate}">
<f:convertDateTime binding="#{loginBean.convertDate}" />
</h:inputText>
Свойство convertDate
будет выглядеть примерно так:
private DateTimeConverter convertDate;
public DateTimeConverter getConvertDate() {
...
return convertDate;
}
public void setConvertDate(DateTimeConverter convertDate) {
convertDate.setPattern("EEEEEEEE, MMM dd, yyyy");
this.convertDate = convertDate;
}
Смотрите Запись свойств объектов, привязанных к конвертерам, слушателям или валидаторам для получения дополнительной информации о написании свойств Managed-бина для реализаций конвертера, слушателя и валидатора.
Назад | Вперёд | Содержание |