2011-07-26 32 views
7

我有2個CSS文件,如下所示。 style.css獲取304 Not Modified。但default.css總是得到200 OK。爲什麼default.css沒有被緩存?JSF如何緩存CSS?

<h:outputStylesheet library="css" name="default.css"/> 
<h:outputStylesheet library="css" name="style.css"/> 
+0

您正在使用哪種jsf實現? –

+0

您是否對style.css做過更改? – killebytes

+0

此問題在其他地方不可見,在迄今爲止提供的信息中不可見。首先,探索HTTP響應頭和過濾器鏈。至少很可能不是JSF相關的問題。 – BalusC

回答

0

我都試過,包括外部的多個CSS文件號爲XHTML。我總是與基本方法去插入CSS到XHTML.I插入項目的索引頁面上以下行。它總是正常工作。

<link rel="stylesheet" type="text/css" href="file1.css" /> 
<link rel="stylesheet" type="text/css" href="file2.css" /> 
0

服務器可能會提供default.css風格,並帶有某種防止緩存的文檔頭。這可能超出了你的控制範圍,但如果不是,你可以通過htaccess或其他防止瀏覽器緩存(或緩存很短時間)的配置來查詢服務器是否具有某些特定規則。

如果default.css是一個動態生成的文檔,那麼也可以通過在服務器上創建實際css文檔的語言來動態創建標題。

有像Fiddler這樣的工具和Live HTTP Header等瀏覽器插件,可以讓您檢查瀏覽器所請求文件的標題。

瀏覽器本身也可以關閉緩存,但如果兩個具有相同擴展名的獨特文件的行爲不同,它可能不是瀏覽器設置。