Рассмотрим применение шаблонов в jsf 2.0.
Во-первых добавим в проект несколько новых директорий:
Соответственно Ctrl+N -> другое ->папка:
------Веб-страницы
-----resources
--------css
--------templates
Теперь жмём на созданную папку "templates", Ctrl+N->JavaServer Faces -> Шаблон Facelets
- Имя файла "mytmpl";
- Стиль размещения CSS (выбираем последний шаблон);
- жмём "готово".
IDE создаст наш первый шаблон + в папке css появятся два файла со стилями:
Теперь более детально рассмотрим созданный шаблон:
Как видите, добавилось новое пространство имён:
"xmlns:ui="http://java.sun.com/jsf/facelets""
Технология facelets является отлчным обработчиком представлений и поддерживает теги
для реализации шаблонов и других целей.
В нашем случае представлен тег "ui:insert" - он вставляет содержимое в шаблон.
Теперь немного изменим уже существующий "index.xhtml":
Рассмотрим новые теги :
- "ui:composition" - в данном случае этот тег используется вместе с атрибутом "template",
таким образом загружая наш шаблон "mytmpl.xhtml".Дочерние теги этого элемента определяют переменные части шаблона + Содержимое шаблона заменяет этот тег.
Если тег используется без атрибута "template", то он представляет собой последовательность элементов, которая может быть вставлена в другом месте. Так же тег "ui:composition" может иметь составные части(см. "ui:insert") .
- "ui:define" - определяет содержимое вставляемое в шаблон(например с помощью тега
"<ui:define name="content"> мы вставляем нашу простую форму в шаблон на место тега
"<ui:insert name="content">") с помощью соответствущих тегов "ui:indert".
Всего в facelets 10 тегов оставшиеся можно посмотреть тут.
Теперь делаем "Build Project"(построить проект), запусткаем tomcat (не забываем перенести *.war архив в webapps tomcat`a) и посмотрим, что у нас получилось. Можете также поиграться с CSS, чтобы сделать всё более красиво ;)
Можем также попробовать создать отдельный header:
- templates, Ctrl+N -> JavaServer Faces->Страница JSF
- имя: "header" -> "готово".
Добавим один уже знакомый нам тег "ui:composition" и наш новый "header" готов:
В Index.xhtml добавим в тег "<ui:define>" с атрибутом "name="top"", новый тег
"<ui:include src="./resources/templates/header.xhtml"/>"
Тег "ui:include" - включает в наш файл содержимое другого файла.
Теперь билдим проект и смотрим результат.
P.S.: ссылка на следующий пример
Во-первых добавим в проект несколько новых директорий:
Соответственно Ctrl+N -> другое ->папка:
------Веб-страницы
-----resources
--------css
--------templates
Теперь жмём на созданную папку "templates", Ctrl+N->JavaServer Faces -> Шаблон Facelets
- Имя файла "mytmpl";
- Стиль размещения CSS (выбираем последний шаблон);
- жмём "готово".
IDE создаст наш первый шаблон + в папке css появятся два файла со стилями:
Теперь более детально рассмотрим созданный шаблон:
Как видите, добавилось новое пространство имён:
"xmlns:ui="http://java.sun.com/jsf/facelets""
Технология facelets является отлчным обработчиком представлений и поддерживает теги
для реализации шаблонов и других целей.
В нашем случае представлен тег "ui:insert" - он вставляет содержимое в шаблон.
Теперь немного изменим уже существующий "index.xhtml":
Рассмотрим новые теги :
- "ui:composition" - в данном случае этот тег используется вместе с атрибутом "template",
таким образом загружая наш шаблон "mytmpl.xhtml".Дочерние теги этого элемента определяют переменные части шаблона + Содержимое шаблона заменяет этот тег.
Если тег используется без атрибута "template", то он представляет собой последовательность элементов, которая может быть вставлена в другом месте. Так же тег "ui:composition" может иметь составные части(см. "ui:insert") .
- "ui:define" - определяет содержимое вставляемое в шаблон(например с помощью тега
"<ui:define name="content"> мы вставляем нашу простую форму в шаблон на место тега
"<ui:insert name="content">") с помощью соответствущих тегов "ui:indert".
Всего в facelets 10 тегов оставшиеся можно посмотреть тут.
Теперь делаем "Build Project"(построить проект), запусткаем tomcat (не забываем перенести *.war архив в webapps tomcat`a) и посмотрим, что у нас получилось. Можете также поиграться с CSS, чтобы сделать всё более красиво ;)
Можем также попробовать создать отдельный header:
- templates, Ctrl+N -> JavaServer Faces->Страница JSF
- имя: "header" -> "готово".
Добавим один уже знакомый нам тег "ui:composition" и наш новый "header" готов:
В Index.xhtml добавим в тег "<ui:define>" с атрибутом "name="top"", новый тег
"<ui:include src="./resources/templates/header.xhtml"/>"
Тег "ui:include" - включает в наш файл содержимое другого файла.
Теперь билдим проект и смотрим результат.
P.S.: ссылка на следующий пример





Комментариев нет:
Отправить комментарий