2009-10-29 38 views
3

從另一個question獲得很好的回答我已經開始在我的WebApplication的init()方法中安裝全局資源(css/js/images)。使用下列內容:使用Wicket在CSS中引用圖像

mountSharedResource("/images/edit-btn.gif", new ResourceReference(GlobalResource.class, "edit-btn.gif").getSharedResourceKey()); 

這當然讓CSS在另一包做這樣的事情:

background-image: url("/images/edit-btn.gif"); 

我所遇到的問題是,在運行時,這個唯一的作品,已安裝的路徑是虛擬。其中一個檢票(IMO)的一大好處是它允許一個網頁設計師的佈局工作,能夠與它的圖像,JS,CSS等,以可視化的頁面功能(<wicket:remove>,XML有效的標籤,頭鏈接,頁面繼承)而無需在檢票機內運行。

我完全易接受的事實,從來就沒有在Web應用程序的設計師/程序員角色之間明確的界限,但似乎奇怪,我的檢票設計師錯過了這個。有沒有什麼辦法可以允許全局使用的圖像在Wicket運行時獨立渲染以及工作?

回答

2

我覺得the recommended way是從你的設計師採取的HTML和上交進入檢票口組件 - 這意味着你將它分割成多個文件。沒有任何額外的努力,渲染這些部分文件將無法正常工作。我建議設置一個簡單的腳本,工具或任何沿着這些線開始您的web應用程序的設計師工作。這樣,他們可以修改碎片並立即看到更新的渲染。你必須同意一個共同的結構,並告訴他們如何使用<wicket:remove>,你應該沒問題。

+0

嚴,我不是超級高興的是解決方案,但它的唯一的事我已經得到了工作。我現在有一個小腳本可以運行測試它。 – Scanningcrew 2009-10-30 01:01:15

+0

作爲一個附加的想法,你可以wicketstuff歸併資源的資源預處理功能改變pathes在CSS文件上運行(例如,從「編輯btn.gif」到「/images/edit-btn.gif」)。雖然我不會真的推薦。 – sfussenegger 2009-10-30 07:21:40