-1

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

D:\JavaProjects\MyGuessNumber\web\resources\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/*

4

2 回答 2

1

如果没有 /faces/,此 URL:

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 中编写代码,我认为它也不会执行。

于 2013-03-03T23:07:10.207 回答
0

您可以通过在 index.html 中添加以下内容来使其工作,

<link rel="stylesheet" type="text/css" href="/resources/css/bootstrap.css"/>
于 2013-03-03T23:44:42.753 回答