我想問你一個問題,這是關係到another question我問過一些時間前(無答案不幸的是:()將JS,CSS和圖像資源放在JSF應用程序的JAR中是一個好主意嗎?
試想一下,你的項目分成幾個網絡的應用程序,也有很多共享資源(JS,CSS,images) 這個想法是爲了避免在每個網絡應用程序中出現重複,因爲你將被迫在所有的網絡應用程序中同步你的更改
因此,最好有這些資源一個地方
如果我看看Richfaces項目,所有的資源都由JSF管理。 例如,<rich:calendar>
組件顯示一個小圖標。 如果我們看的HTML代碼這個形象,我們看到src
屬性是指鏈接,而不是一個.png
直接:
<img src="/richfaces-demo/a4j/g/3_3_3.Finalorg.richfaces.renderkit.html.iconimages.CalendarIcon/DATB/eAH7cW0fw6znAA8XBA4_.jsf"
style="vertical-align: middle" id="j_id354:j_id355PopupButton" class="rich-calendar-button " alt="">
我看到這樣的方法的優點如下:
- 將資源包含在經典庫(即JAR中)中,這可以簡化在Eclipse上的部署;
- 允許生成動態文件(即僅包含所需屬性的CSS或JS);
- 允許僅包含所需的資源(例如,如果頁面上的組件不需要,我們將不加載CSS文件)。
關於我的申請,我只需要第一點,但這對我來說非常重要(參見我在SO上的其他相關問題)。
此解決方案的主要缺點是瀏覽器將無法緩存資源,因爲它們被視爲JSF請求。此外,這些請求將不得不通過整個JSF生命週期,它可以是一個性能問題,如果資源在當前頁面的數量是很重要的......
問題
- 什麼你覺得這個方法嗎?
- 你會怎麼做?我在幾年前已經使用了weblets,但這個項目似乎自2006年以來一直保持不變。網站URL返回404,但是version 0.4 can be found in the Maven global repository。
- 您是否看到針對我的問題的其他解決方案?
謝謝。
這似乎是一個不錯的主意。不幸的是,我們仍然使用** JSF 1.2 **,所以沒有'@ WebServlet'和'@ ResourceDependency'可用:( – romaintaz 2011-05-11 12:49:04
那麼,你必須使用''條目來混亂你的webapp的'web.xml'。 servlet本身只能保存在JAR中 –
BalusC
2011-05-11 12:50:38
我不確定如何修改'web.xml'文件... – romaintaz 2011-05-11 14:24:51