2015-10-12 1 views
1

Я пытался работать с BootsFaces. Я обеспечил следующие требования:Не удается найти ресурс «css/theme.css» библиотеки «bsf»

  1. Java EE 1.6 выше
  2. Jsf-апи и JSF-осущий 2,2 выше JAR-файл
  3. MyFaces апи и осущий 2.2 выше JAR-файл
  4. BootsFaces 0.7. 0 JAR файл

также я следовал шаги для корректного отображения, как указано в документе BootsFaces (изменения в web.xml и лица-файл конфигурации)

Я создал образец файла jsf (medium) и попытался запустить его.

я получил ошибку говоря

javax.servlet.ServletException: Error loading theme, cannot find "css/theme.css" resource of "bsf" library 
javax.faces.webapp.FacesServlet.service(FacesServlet.java:321) 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 

* Структура проекта

Faces-config.xml

<?xml version="1.0" encoding="UTF-8"?> 
<faces-config 
xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org /xml/ns/javaee/web-facesconfig_2_2.xsd" 
version="2.2"> 
<application> 
    <resource-handler>net.bootsfaces.render.UnmappedResourceHandler</resource-handler> 
</application>  
</faces-config> 

web.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
id="WebApp_ID" 
version="3.0"> 
<context-param> 
    <param-name>BootsFaces_USETHEME</param-name> 
    <param-value>true</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>*.jsf</url-pattern> 
    <url-pattern>/javax.faces.resource/*</url-pattern> 
</servlet-mapping>  
</web-app> 

medium.jsf

<?xml version='1.0' encoding='UTF-8' ?> 
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets" 
xmlns:b="http://bootsfaces.net/ui" xmlns:f="http://java.sun.com/jsf/core"> 
<h:head /> 

<h:body> 
    <b:container> 
     <b:row> 
     <b:column span="8"> 
      <b:panel look="primary" title="b:column span='8'"> 
      Eight columns on medium screens (e.g. small desktop and notebook screens).<br /> Stacked on screens smaller than 992 pixels width. 
      <br /> 

      </b:panel> 
     </b:column> 
     </b:row> 
    </b:container> 
</h:body> 

+0

Можете ли вы показать свою структуру проекта? –

ответ

1

Когда BootsFaces не находит свои ресурсы, я рекомендую использовать CombinedResourceHandler из OmniFaces. Вы уже используете UnmappedResourceHandler BootsFaces, который должен делать трюк, но я предлагаю вам попробовать версию OmniFaces, тем не менее (и отчитаться, если это поможет).

Вот список проверки наиболее частых ошибок, которые мы видели до сих пор:

  1. Убедитесь, что вы добавили <h:head></h:head> тег (даже если он пуст). Не используйте тег HTML (<head />).
  2. Проверьте шаблон URL-адреса web.xml. Многие учебники рекомендуют помещать файлы JSF в виртуальную папку, например <url-pattern>/pages/</url-pattern>. Не делай этого. Нет ничего плохого в простых шаблонах, таких как <url-pattern>*.jsf</url-pattern>. Кстати, это значение по умолчанию, поэтому вы можете полностью опустить шаблон url.
  3. Если это не удается, добавьте CombinedResourceHandler OmniFaces. Это всегда делает трюк для меня.
  4. Проверьте URL-адрес в своем браузере. Возможно, вы ввели localhost:8080/index.xhtml вместо localhost:8080/index.jsf?
  5. Если вы все еще застряли, откройте проблему в репозитории BootsFaces GitHub (https://github.com/TheCoder4eu/BootsFaces-OSP/issues). Но сначала прочитайте https://github.com/TheCoder4eu/BootsFaces-OSP/issues/157 - ваша проблема, вероятно, уже исправлена.