Использование Bootsfaces в проекте NetBeans с Tomcat
Я создал новый веб-проект netbeans (7.31) с JSF 2.2, используя Tomcat, и я загрузил и добавил Bootsfaces-OSP-dist-0.7.jar в свой проект. Я сделал все, что связано с кратким руководством по Bootsfaces, включая все о web.xml, face-config.xml и поддержке темы css. Я ничего не делал о файле сборки maven pom.xml (Работая с IDE netbeans, мне не нужно было ничего делать в pom.xml, и я не знаю, как это сделать в проекте с IDE netbeans) Я также создал index.xhtml страница похожа в кратком руководстве (с <h:head/>
теги) Когда я запускаю свой проект, все выглядит без какого-либо стиля.
Кто-нибудь может мне помочь с пошаговым руководством по выполнению работы bootsfaces в проекте, созданном с IDE netbeans, JSF 2.2 и tomcat?
Вот мой файл web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/javax.faces.resource/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>faces/index.xhtml</welcome-file>
</welcome-file-list>
<context-param>
<param-name>BootsFaces_USETHEME</param-name>
<param-value>true</param-value>
</context-param>
</web-app>
`
2 ответа
Ну, у меня все отлично работает. Я сделал следующие шаги:
- Я создал новый веб-проект в Netbeans 8.0.2 и добавил JSF 2.2 ("Библиотека", затем "Добавить библиотеку").
- Загрузил новейший JAR-файл Bootsfaces со своего сайта и добавил в него проект (библиотека, затем добавьте JAR/ папку).
Создан новый файл JSF:
<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:b="http://bootsfaces.net/ui" xmlns:h="http://xmlns.jcp.org/jsf/html"> <h:head> <title>Facelet Title</title> </h:head> <h:body> <b:navBar brand="Brand" brandHref="#" inverse="true"> <b:navbarLinks> <b:navLink value="Home" href="#"></b:navLink> <b:navLink value="Link" href="#"></b:navLink> <b:navLink value="Link" href="#"></b:navLink> </b:navbarLinks> </b:navBar> </h:body>
Только не забудь об этой части xmlns:b="http://bootsfaces.net/ui"
,
Есть как минимум три подводных камня, из-за которых ваша тема исчезнет:
- Вы добавили тему в web.xml?
xml <context-param> <param-name>BootsFaces_USETHEME</param-name> <param-value>true</param-value> </context-param>
- Пожалуйста, не используйте имена папок в отображении сервлета. Я не уверен, вызывает ли это ошибку CSS, но, конечно, это усложняет ситуацию и может привести к путанице в ресурсах.
- По какой-то причине BootsFaces работает лучше, если вы добавляете CombinedResourceHandler из OmniFaces в face-config.xml. Кроме того, вы можете добавить UnmappedResourceHandler (который является частью BootsFaces). Чаще всего BootsFaces нужен один из них, чтобы найти файлы CSS и / или шрифт. Также см. http://www.bootsfaces.net/integration/OmniFaces.jsf.
Другой подход, который обычно работает, состоит в том, чтобы начать с одного из демонстрационных проектов, таких как https://github.com/stephanrauh/BootsFaces-Examples.