Описание тега facelets
Facelets
Facelets - это основанная на XML технология просмотра для платформы JavaServer Faces. Facelets, разработанный специально для JSF, призван стать более простой и мощной альтернативой представлениям на основе JSP. Первоначально это был отдельный проект, технология была стандартизирована как часть JSF 2.0 и Java-EE 6, и JSP не рекомендуется. Почти все целевые библиотеки компонентов JSF 2.0 больше не поддерживают JSP, а только Facelets.
Привет мир
Подготовка: в зависимости от используемого сервера JSF/Facelets могут быть уже встроенными (GlassFish, JBoss AS, WebSphere и т. Д.) Или нет (Tomcat, Jetty и т. Д.). Если нет, то вам нужно будет загрузить реализацию JSF по вашему выбору и поместить необходимые файлы JAR в/WEB-INF/lib
папка.
Контроллер: сначала зарегистрируйтеFacesServlet
в /WEB-INF/web.xml
следующее:
<servlet>
<servlet-name>facesServlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>facesServlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
Просмотр: затем создайте файл Faceletshello.xhtml
следующее:
<!DOCTYPE html>
<html lang="en"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:head>
<title>Facelets</title>
</h:head>
<h:body>
<h:form>
<h:inputText value="#{sessionScope.who}" />
<h:commandButton value="Say Hello" />
</h:form>
<h:outputText rendered="#{sessionScope.who != null}"
value="Hello, #{sessionScope.who}" />
</h:body>
</html>
Запустите сервер и откройте его http://localhost:8080/contextname/hello.xhtml
.
Модель: если вы также хотите создать модель, перейдите в вики-страницу по тегам JSF.
Документация
Интернет-ресурсы
Часто задаваемые вопросы
- Почему Facelets предпочтительнее JSP в качестве языка определения представлений начиная с JSF2.0 и далее?
- Когда использовать
<ui:include>
, файлы тегов, составные компоненты и / или пользовательские компоненты? - Как упаковать шаблоны Facelets, файлы тегов, композитные материалы и т. Д. В файл JAR?
- Какие файлы XHTML мне нужно поместить в /WEB-INF, а какие нет?
- Можно ли использовать JSF+Facelets с HTML 4/5?