2015-01-09 54 views
2

我想出來的UnmappedResourceHandler在OmniFaces,本來我有我的所有資源,如目錄結構下:UnmappedResourceHandler是否適用於庫版本控制?

WebContent 
|-- resources 
| `-- default 
|   `-- 1_0 
|    |-- css 
|    | `-- style.css 
|    |-- img 
|    | `-- logo.png 
|    `-- js 
|     `-- script.js 

UnmappedResourceHandler不與版本控制工作,而不是工作的:

WebContent 
|-- resources 
| `-- default 
|  |-- css 
|  | `-- style.css 
|  |-- img 
|  | `-- logo.png 
|  `-- js 
|    `-- script.js 

我沒有閱讀過任何它不工作,所以我想知道我錯過了什麼?

感謝,

回答

3

它在javadocshowcase提及。

下面CSS文件引用(注:圖書館不是由UnmappedResourceHandler支持,這是一個技術上的限制,僅僅只使用名稱):

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

的技術限制否則就不可能從CSS文件中相對引用資源。當使用庫,路徑/default將被移到查詢參數?ln=default然後CSS文件會在錯誤的相對文件夾/resources/css代替/resources/default/css尋找相對圖像引用。

您已經2種選擇:

  1. 手動追加版本的查詢字符串。

    <h:outputStylesheet name="default/css/style.css?#{app.version}" /> 
    

    您甚至可以爲此編寫另一個自定義資源處理程序。

  2. 使用文件名基礎版本。

    WebContent 
    |-- resources 
    | `-- default 
    |  |-- css 
    |  | `-- style.css (this is a folder!) 
    |  |   `-- 1_0.css 
    |  |-- img 
    |  | `-- logo.png (this is a folder!) 
    |  |   `-- 1_0.png 
    |  `-- js 
    |    `-- script.js (this is a folder!) 
    |     `-- 1_0.js 
    : 
    

    這只是醜陋的。

無論如何,只要在最後刪除/default文件夾即可。

+0

對不起,我讀了這一點,但不知道該庫屬性是有關的版本號 – Ross

相關問題