【问题标题】:Cannot find "css/theme.css" resource of "bsf" library找不到“bsf”库的“css/theme.css”资源
【发布时间】:2015-10-12 02:50:35
【问题描述】:

我一直在尝试使用 BootsFaces。我已确保满足以下要求:

  1. Java EE 1.6 以上
  2. JAR 文件上的 Jsf-api 和 jsf-impl 2.2
  3. MyFaces api 和 impl 2.2 以上的 JAR 文件
  4. BootsFaces 0.7.0 JAR 文件

我还按照 BootsFaces 文档中列出的正确渲染步骤(更改 web.xml 和 faces-config 文件)

我创建了一个示例 jsf(中)文件并尝试运行它。

我收到一个错误提示

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>

【问题讨论】:

  • 你能展示你的项目结构吗?

标签: jsf bootsfaces


【解决方案1】:

当 BootsFaces 找不到它的资源时,我建议使用 OmniFaces 的CombinedResourceHandler。您已经在使用 BootsFaces 的 UnmappedResourceHandler,这应该可以解决问题,但我建议您仍然尝试 OmniFaces 版本(如果有帮助,请反馈)。

这是一个清单,检查我们迄今为止看到的最常见的陷阱:

  1. 确保您已添加&lt;h:head&gt;&lt;/h:head&gt; 标签(即使它是空的)。不要使用 HTML 标记 (&lt;head /&gt;)。
  2. 检查 web.xml 的 URL 模式。许多教程建议将 JSF 文件放入虚拟文件夹中,例如 &lt;url-pattern&gt;/pages/&lt;/url-pattern&gt; 。不要那样做。像&lt;url-pattern&gt;*.jsf&lt;/url-pattern&gt; 这样的简单模式并没有错。顺便说一句,这是默认设置,因此您可以放心地完全省略 url 模式。
  3. 如果失败,请添加 OmniFaces 的 CombinedResourceHandler。这对我来说总是有用的。
  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 - 你的问题可能已经解决了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-17
    • 2016-01-30
    • 2015-06-08
    • 2013-01-11
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多