Java Platform, Enterprise Edition (Java EE) 8 Учебник по Java EE |
Назад | Вперёд | Содержание |
Duke's Bookstore — это веб-приложение, которое использует многие функции JavaServer Faces в дополнение к функциям Java EE:
JavaServer Faces, а также контексты и инъецирование зависимостей в Java EE (CDI)
Пользовательский интерфейс приложения представлен набором страниц Facelets с шаблонами.
С каждой страницей Facelets связаны Managed-бины CDI.
Компонент карты изображения на главной странице позволяет выбрать книгу для входа в магазин. Каждая область карты представлена Managed-бином JavaServer Faces. Для большей доступности присутствуют текстовые гиперссылки.
Слушатели действий зарегистрированы на карте изображения и в текстовых ссылках. Эти слушатели получают значение идентификатора для выбранной книги и сохраняют его в сессии, чтобы Managed-бин мог получить его на следующей странице.
Тег h:dataTable
используется для динамической отрисовки каталога книг и корзины покупок.
Кастомный конвертер зарегистрирован в поле кредитной карты на странице оформления заказа bookcashier.xhtml
, где также используется тег f:validateRegEx
для обеспечения корректного форматирования ввода.
Слушатель изменения значения зарегистрирован в поле имени на странице bookcashier.xhtml
. Этот слушатель сохраняет имя в параметре, чтобы следующая страница — bookreceipt.xhtml
— могла получить к нему доступ.
Enterprise-бины: локальный сессионный компонент без сохранения состояния и компонент-синглтон
Сущность API персистентности Java
Пакеты Duke’s Bookstore расположены в каталоге tut-install/examples/case-studies/dukes-bookstore/src/main/javaeetutorial/dukesbookstore/
:
components
: включает в себя кастомные классы компонентов пользовательского интерфейса MapComponent
и AreaComponent
converters
: включает класс кастомного конвертера CreditCardConverter
ejb
: включает два Enterprise-бина:
Компонент-синглтон ConfigBean
, который инициализирует данные в базе данных
Сессионный компонент без сохранения состояния BookRequestBean
, который содержит бизнес-логику управления объектами сущности
entity
: включает класс сущности Book
exceptions
: включает три класса исключений
listeners
: включает обработчик событий и классы слушателей событий
model
: включает класс модели JavaBeans
renderers
: включает кастомные отрисовщики для кастомных классов компонентов пользовательского интерфейса
web.managedbeans
: включает Managed-бины для страниц Facelets
web.messages
: включает файлы bundle-ресурсов для локализованных сообщений
Назад | Вперёд | Содержание |