Jsf 找不到资源css,style.css

Jsf 找不到资源css,style.css,jsf,xhtml,Jsf,Xhtml,我用GlassFish 4.1在NetBeans 8.02中创建了一个Java JSF应用程序。作为facelet创建的其中一个网页包含以下标记: <h:head> <title>Address Book: Add Entry</title> <h:outputStylesheet name="style.css" library="css"/> </h:head> 我在我的项目中的网页/resou

我用GlassFish 4.1在NetBeans 8.02中创建了一个Java JSF应用程序。作为facelet创建的其中一个网页包含以下标记:

   <h:head>
      <title>Address Book: Add Entry</title>
      <h:outputStylesheet name="style.css" library="css"/>
   </h:head>
我在我的项目中的网页/resources/css文件夹中查找,style.css就出现了。如果我从另一个项目添加style.css文件夹,一切正常


我需要怎么做才能使style.css自动放置在正确的文件夹中,而不是我必须手动操作——或者在我如何设置项目或编写xhtml标记时缺少什么?

在我看来,您没有使用正确的/resources文件夹,您应该使用Tiny评论中提到的web应用程序根目录中的/resources目录(WebContent的子文件夹),而不是包含java类的resources文件夹。以下是一个例子:

但是,您没有正确地使用
h:outputStylesheet
,您最好这样使用它:

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


BalusC提供了关于JSF资源库的详细答案:

这似乎是Netbeans 8.1的一个问题。但是,版本7会正确生成模板页面

尝试将h:outputStylesheet标记替换为以下标记之一:

<link href="./resources/css/style.css" rel="stylesheet" type="text/css"/> 

我对NetBean 8.1也有同样的问题。 我通过写作解决了这个问题

h:outputStylesheet name=“resources/css/default.css”

h:outputStylesheet name=“resources/css/cssLayout.css”

我没有将位置更改为样式文件: 试试这个:

我也遇到了同样的问题,但是如果您知道属性库可以为我获取默认路径,那么这个问题很容易解决


css样式表的默认位置是“/resources/css/yourcss.css”

如果
style.css
文件在应用程序根目录的
/resources/css
下确实可用,那么请查看部署的WAR文件,查看所需目录中是否确实存在
style.css
。如果它在部署的WAR中不可用,那么在创建了
style.css
之后,您可能会意外地忘记进行硬部署,这是NetBeans在创建新文件夹/目录并将一些文件放入其中时基本上需要的。在项目视图中,resources/css位于Web Pages文件夹下。在文件视图中,resources/css位于build/web/、web/下,而.war文件位于dist/下。在每种情况下,它只包含cssLayout.css和default.css,而不包含style.css。即使我更改了h:outputStylesheet per Tarik并执行了硬部署样式,css也不会添加到任何resources/css文件夹。@jisteinberg我不明白你在说什么,请转到你的WebContent文件夹,如果你没有名为resources的子文件夹,那么创建一个,然后创建一个css文件夹并将你的styles.css文件放在其中。哪一部分不清楚?我手动将styles.css文件放在resources/css文件夹中,它成功了。谢谢因此,当您在facelet中引用该文件并部署该项目时,该文件不会自动在css文件夹下创建?@jisteinberg否。为什么会创建该文件以及如何创建该文件?styles.css文件包含您的css参数和首选项,它可以是您在facelet中引用的任何其他名称(myCss.css…)。请参考我答案中的链接,并查看BalusC提供的答案,这将帮助您更好地了解流程
<link href="./resources/css/style.css" rel="stylesheet" type="text/css"/>