2015-04-03 77 views
3

我使用GlassFish 4.1在NetBeans 8.02中創建了一個Java JSF應用程序。一個作爲的facelet創建的網頁包含以下標籤:無法找到資源css,style.css

<h:head> 
     <title>Address Book: Add Entry</title> 
     <h:outputStylesheet name="style.css" library="css"/> 
    </h:head> 

當我運行的應用程序,我得到的錯誤:

Unable to find resource css, style.css 

我看在網頁/資源/ css文件夾中我的項目和style.css存在。如果我從另一個項目添加style.css文件夾,一切正常。

我需要做什麼以使style.css自動放置在正確的文件夾中,而不是手動執行 - 或者在設置我的項目或編寫xhtml時有什麼缺失標籤?

+0

如果'style.css'文件是在對應用程序根目錄'/資源/ css'確實可用,然後檢查如果'style.css'真的在所需的目錄中可用,那麼從已部署的WAR文件中查看。如果它在部署的WAR中不可用,那麼在創建'style.css'後,您可能會意外忘記進行硬部署,NetBeans基本上需要創建新文件夾/目錄並將一些文件放入其中。 – Tiny 2015-04-03 19:52:30

回答

7

在我看來,你沒有使用正確的/資源文件夾,你應該使用Web應用程序根目錄下的/資源目錄(的WebContent的子文件夾)mentionned由微小的評論,而不是包含您的java類的資源文件夾。這裏有一個例子:

enter image description here

但是,你沒有正確使用h:outputStylesheet,你應該更好地使用這樣的:

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

一個的相關詳細回答關於JSF的資源庫提供BalusC:What is the JSF resource library for and how should it be used?

+0

在項目視圖資源/ css位於Web Pages文件夾下。在文件視圖中,資源/ css位於build/web /,web /下,位於dist /下的.war文件中。在每種情況下,它只包含cssLayout.css和default.css,而不包含style.css。即使在我爲Tarik更改h:outputStylesheet並執行硬部署後,style.css所做的更改仍未添加到任何資源/ css文件夾。 – jisteinberg 2015-04-06 15:55:42

+0

@jisteinberg我不明白你在說什麼,請去你的WebContent文件夾,如果你沒有一個名爲資源的子文件夾然後創建一個,然後創建一個css文件夾,並把你的styles.css文件。哪一部分不清楚? – Tarik 2015-04-06 15:59:10

+0

我手動將styles.css文件放在資源/ css文件夾中,它工作。謝謝。因此,當您在facelet中引用它並部署該項目時,該文件不會自動在css文件夾下創建? – jisteinberg 2015-04-06 19:11:52

1

這似乎是Netbeans 8.1的一個問題。但是,版本7會正確生成模板頁面。

嘗試更換H:下面一個outputStylesheet標籤:

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

試試這個:

我有同樣的問題,但很容易解決,如果你知道屬性庫來獲取默認路徑爲了我。

的CSS樣式表的默認位置是「./resources/css/yourcss.css」