2012-01-20 27 views
1

私はクライアント用にいくつかの作業をしています。彼らはさまざまなプロジェクトで共通のWebタグjarファイルプロジェクトを持っています。彼らはそれのカスタムタグの局面は、シンプルであり、私が提供するヘッダータグを作成している イメージでカスタムjspタグをカプセル化する

<pageElements:header/> 

...彼らは、タグのようなものを使用して、プロジェクトで使用できるヘッダーとフッターのタグを作るために私を求めてきましたボイラープレートhtmlのマークアップ(テキストを含む)

私が抱えている問題は、ロゴなどのようなもののために瓶の中にパッケージされたいくつかの画像がほしいということです。私は何かを置けば明らかのように...

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

...タグにそれが正しくレンダリングされていますが、画像のタグを使っているプロジェクトのコンテキスト内を検索します。タグの定義を含むjarファイル内のresources/imagesディレクトリに存在するため、存在しません。

誰が

<pageElements:header/> 

...私は、タグ定義を含むjarファイルにイメージをパッケージ化し、プロジェクトのタグを使用するときようにタグにそれを参照することができます方法を知ってい。 ..itはテキストと画像を正しくレンダリングしますか?

私が知る必要があるのは、jarファイル内で画像を保存する場所と、タグの内容を定義するtagxファイルでどのように参照するのかです。

多くのおかげで、

マーク

+0

私はこれを考えていないので答えていませんが、カスタムサーブレットが必要です。サーブレット3.0を使用していない限り、アプリケーションのweb.xmlに登録する必要があります注釈。 – erickson

答えて

0

は、サーブレット3.0仕様は言う:

この階層のルートは は、アプリケーションの一部であるファイルのためのドキュメントルートとして機能します。たとえば、 Webコンテナのコンテキストパス/カタログであるWebアプリケーションの場合は、 のWebアプリケーション階層のベースまたはindexを含む WEB-INF/lib内のJARファイル内のindex.htmlファイル。 META-INF/resourcesの ディレクトリにあるhtmlは、/catalog/index.htmlからの要求を満たすために提供することができます。 index.htmlが、アプリケーションのWEB-INF/lib ディレクトリにあるJARファイルのルートコンテキストと META-INF/resourcesディレクトリの両方に存在する場合は、 ルートで使用可能なファイルコンテキストを使用しなければならない(MUST)。

あなたは、META-INF/resourcesの下で自分のjarファイルにイメージを置くことができます。そして、彼らは戦争中であったかのように扱われます。

この仕様の以前のバージョンではこのようなことはありません。そのため、サーブレットやフィルタを使用して実装する必要があります。 Spring MVCとStruts2はこれをネイティブに提供します。私は他のフレームワークについて知らない。