2012-01-20 51 views
1

我正在爲客戶做一些工作,他們有一個共同的web標籤jar文件項目,他們在各種項目中使用。他們已經要求我做一個頁眉和頁腳標籤,他們可以在使用標籤類似的項目中使用...使用圖像封裝自定義jsp標籤

<pageElements:header/> 

它的自定義標籤方面很簡單,我創建了一個標題標籤,它提供鍋爐板html標記包含一些文本。

我遇到的問題是,他們希望將一些圖像打包在jar中用於標識等內容。顯然,如果我把類似...

<img alt="logo" src="images/logo.png"/> 

...在標記它的正確渲染,但看起來這是一個使用了圖​​像標籤項目的背景。它不存在,因爲它位於包含標記定義的jar文件中的resources/images目錄中。

有誰知道的一種方法,我可以在包含標記定義的jar文件包的圖像,然後引用它的標記,這樣當項目使用標籤...

<pageElements:header/> 

。 ..正確呈現文字和圖片?

基本上我需要知道的是jar文件應該保存圖像的位置,以及如何在定義標記內容的tagx文件中引用它們。

非常感謝,

馬克

+0

沒有回答,因爲我沒有想到這一點,但我認爲你需要一個自定義的servlet來完成這個工作,除非你正在使用Servlet 3.0,否則必須在應用程序的web.xml中註冊。註釋。 – erickson

回答

0

Servlet 3.0規範說:

這個層次的根作爲文檔根目錄文件 是應用程序的一部分。例如,對於具有 Web容器中的上下文路徑/目錄的Web應用程序,位於 處的Web應用程序層次結構的基址或位於包含該索引的 WEB-INF/lib內的JAR文件中的index.html文件。 META-INF/resources 目錄下的html可以用來滿足來自/catalog/index.html的請求。 如果一個index.html是同時存在於根上下文和在一個JAR文件的 META-INF /資源目錄WEB-INF/lib中 目錄的應用程序,則該文件,是在根 可用上下文必須使用。

因此,您可以將圖片放置在META-INF/resources下的jar文件中,並將它們視爲直接參與戰爭。

以前版本的規範沒有提供這種可能性,所以您必須使用servlet或過濾器來實現它。 Spring MVC和Struts2本身就提供了這個功能。我不知道其他框架。