イメージがJSPタグに存在するかどうかを判断して、存在しない場合はデフォルトを表示する必要があります。戦争の根にアクセスする最善の方法は何ですか?画像が存在するかどうかを確認できますか?または、より良い解決策がありますか?WARのルートにアクセスするにはどうすればよいですか?
0
A
答えて
1
ServletContext
方法getResourceは、このような機能に使用できます。リソース(イメージ)が存在しない場合、このメソッドはnull
を返します。その場合、デフォルト画像を表示することができます。
<img>
タグの「src」属性として使用するURLは、ではなく、であることに注意してください。他のホストでは意味をなさないfile:
またはjar:
のプロトコルURLが考えられます。このアプリケーションでは、それがnull
であるかどうかを確認するためにのみテストされ、実際にはJSPではありません。
1
また、WebコンテナがWARファイルを展開したという保証はないので、ファイルシステムを覗かないように注意してください。
展開時に使用可能なイメージのリストを生成するオプションはありますか?
+0
最終的な目標は、イメージが存在するかどうかを確認することです。それ以外の場合は、これが機能するようにデフォルトを表示します。 – Joshua
唯一の問題は、私たちが強制するWebフレームワークがServletContextへのアクセスを隠すことです。 – Joshua
本当ですか?どのフレームワークですか?わかりやすいフレームワークは、アプリケーション、セッション、および要求スコープへのアクセスを、何らかの抽象的な方法でラッピングすることによって実現します。あなたのフレームワークが本当に限られている場合、あなたができるくらいのクルージングがあります。 – erickson
単語「強制」に注目してください。わかりやすいフレームワークは開発者に強制されません。開発者は彼らが賢明であるためにそれらを選ぶ。 – Joshua