Изучаем Java EE 7 - [160]
HtmlDoctype | Отрисовывает HTML-элемент | |
Output | Отрисовывает разметку для тега | |
Output | Отрисовывает разметку для элемента |
Базовые атрибуты
Каждый тег компонентов HTML, представленный вам, может отличаться сложностью и количеством возможных атрибутов. Например, тег
Атрибут | Описание |
---|---|
id | Идентификатор компонента |
rendered | Двоичное значение, указывающее, следует ли отрисовывать компонент |
value | Значение компонента (текст или утверждение EL) |
converter | Имя класса преобразователя |
validator | Имя класса валидатора |
required | Если имеет значение true, требует введения значения в соответствующее поле |
Основные теги JSF
HTML-теги компонентов JSF могут быть использованы только для отрисовки HTML (помните, что JSF безразличен к конечному устройству отображения и может использовать несколько средств визуализации). Но некоторые основные действия JavaServer Faces не зависят от конкретной визуализации. Они не имеют никакого визуального представления и в основном используются для передачи атрибутов или параметров других компонентов, а также для преобразования или валидации. Эти теги содержатся в табл. 10.13.
Тег | Описание |
---|---|
Добавляет фасет к компоненту | |
Добавляет атрибут компоненту | |
Создает компонент-потомок с параметром | |
Добавляет компоненту слушатель действий, изменений значений или действий над свойствами | |
Добавляет на страницу слушатель фаз | |
Добавляет компоненту произвольный преобразователь или использует особый преобразователь даты/времени и чисел | |
Добавляет компоненту произвольный валидатор или использует определенный валидатор длины или регулярных выражений | |
Определяет группы проверки для Bean Validation (см. главу 3) | |
Загружает ресурсы | |
Определяет один или несколько элементов для выбора одного или нескольких компонентов | |
Включает поведение AJAX |
Теги шаблонов JSF
Типичное веб-приложение содержит несколько страниц, которые имеют одинаковый внешний вид, верхний и нижний колонтитулы и т. д. Facelets позволяет определить макет в файле шаблона, который может быть использован для всех страниц в веб-приложении. Шаблон определяет области (с помощью тега
Тег | Описание |
---|---|
Определяет композицию, которая может использовать шаблон. Несколько композиций могут применять один и тот же шаблон | |
Создает компонент | |
Собирает информацию об отладке | |
Определяет содержимое, которое вставлено на страницу с помощью шаблона | |
Позволяет декорировать содержимое на странице | |
Добавляет фрагмент страницы | |
Инкапсулирует и повторно использует содержимое среди нескольких страниц XHTML | |
Вставляет содержимое в шаблон | |
Передает параметры во включенный файл (с использованием тега | |
Проходит по всему списку объектов | |
Удаляет содержимое страницы |
В качестве примера повторно используем страницу, представляющую форму для создания новой книги (вернитесь к рис. 10.1). Вы можете сказать, что название — это верхний колонтитул (Создать новую книгу), а нижний — это текст Apress — Изучаем Java EE 7. Таким образом, шаблон, который называется layout.xhtml, будет выглядеть как код в листинге 10.9.
>
>······xmlns: h="http://xmlns.jcp.org/jsf/html"
>······xmlns: ui="http://xmlns.jcp.org/jsf/facelets">
>
>··
>
>
>··
>··
>··
>··
>··
>
>
Шаблон в листинге 10.9 сначала должен определить необходимую библиотеку тегов (xmlns: ui="http://xmlns.jcp.org/jsf/Facelets"). Затем он использует тег . Тело страницы будет вставлено в атрибут content.
Чтобы использовать этот шаблон, страница newBook.xhtml, показанная в листинге 10.10, должна объявить, какой шаблон ей нужен (
Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.
Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.