如何让我的JSF项目找到我的css文件?

时间:2013-03-03 21:35:21

标签: java jsf path

我在这个目录中有一个css文件:

  

d:\ JavaProjects \ MyGuessNumber \网络\资源\ CSS \ bootstrap.css

在我的index.xhtml文件中,我有:

<h:outputStylesheet library="css" name="bootstrap.css" />

当我运行此应用程序时:

localhost:8080/MyGuessNumber

css文件加载得很好。

当我使用时:

http://localhost:8080/MyGuessNumber/faces/index.xhtml

css仍在那里。

但是当我这样做时:

http://localhost:8080/MyGuessNumber/index.xhtml

页面加载,但没有CSS?我该怎么做才能做到这一点?

编辑:我正在使用:/ faces / *

2 个答案:

答案 0 :(得分:1)

没有/ faces /,此网址:

http://localhost:8080/MyGuessNumber/index.xhtml

不会被处理:

<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>

因为您已在web.xml文件中指定:

<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
</servlet-mapping>

JSF2不会从以下位置生成HTML:

<h:outputStylesheet name="css/bootstrap.css" /> 

即使您在页面index.xhtml中编写代码,我也不会执行它。

答案 1 :(得分:0)

您可以在index.html,

中添加以下内容
<link rel="stylesheet" type="text/css" href="/resources/css/bootstrap.css"/>