Использование 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 ответа

Ну, у меня все отлично работает. Я сделал следующие шаги:

  1. Я создал новый веб-проект в Netbeans 8.0.2 и добавил JSF 2.2 ("Библиотека", затем "Добавить библиотеку").
  2. Загрузил новейший JAR-файл Bootsfaces со своего сайта и добавил в него проект (библиотека, затем добавьте JAR/ папку).
  3. Создан новый файл 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.

Другие вопросы по тегам