1

Webアプリケーションの起動時に相対パスを渡すことを試みているBeanがあります。 (C:/ dev/workspace/project/src/main/webapp/WEB-INF/resource/Springで相対パスを使用してWebアプリケーションリソースを挿入する方法

私はそれを渡そうとすると絶対パスWEB-INF/my_resource/のような相対パスは、おそらくTomcatがEclipse内で実行されているため、C:/ dev/eclipse/WEB-INF/my_resource/という名前の場所を見つけることができません。このパスを相対パスにすると、webappの場所にかかわらず、どのWebコンテナからでもこのパスを取得できます。

アイブ氏は助けてください... servletconfig.getRelativePath(/)は使用しないでどちらもこの春に行うには正しいことであるか、またはあっても、私のBean内からサーブレットの設定を取得する方法を知っている場所で読ん

私のBeanクラスとBeanの構成XMLのソースコードは、Beanが

<bean id="KMSearcherBean" class="com.hp.it.km.search.web.suggestion.SuggestionIndexSearcher"> 
     <constructor-arg index="0" value="KMSearcher" /> 
     <constructor-arg index="1" value="WEB-INF/resource/keyword" /> 
</bean> 
+0

'IndexSearcher'とは何ですか?' path'で何をしていますか?それはどのようにその文字列を処理するかに問題があるようです。 – skaffman

+0

あなたのお返事ありがとうございます。たぶん私は不明だった...これは任意のクラス、その無関係かもしれない。私の問題は、クラスに入った後に何が起こっているのか、クラスがクラスを拡張するのか、あるいはその文字列で行うのかではありません。私は、path = "/ WEB-INF/my_resource /"をpath = "/ WEB-INF/my_resource /に変換するために、super()が呼び出される前にどのコードを追加すればよいかを尋ねています。 =は、tomcatまたはweblogic内のWebアプリケーションのファイルシステムの場所、またはwebappが実行される可能性のあるアプリケーションサーバーの場所です。つまり、が何であるかを調べる必要がありますか? –

+0

は、リソース:幸せSkaffman –

答えて

3

代わりStringorg.springframework.core.io.Resourcejavadoc)を取るためにあなたの変更があなたの豆場合には、春には、自動的にResourceの適切な型にあなたの道を強要されます。サーブレットコンテナ内で実行する場合、Springは一般的にServletContextResourceを選択します。パスはwebappルートからの相対パスになります(WEB-INF/my_resource/は期待通りに動作するはずです)。

あなたのコードがどのように処理するかは、Resourceの処理方法によって異なります。

XML設定で変更する必要はありません。前と同じようにパス文字列を渡してください。 the Spring manual for a wider description of resourcesを参照してください。

+1

これは簡単だとは思わなかった。 –

0

変更...としてtehの豆のXMLで定義されて

public class SuggestionIndexSearcher extends IndexSearcher { 

private String indexSearcherType; 

public SuggestionIndexSearcher(String type, String path){ 
    super(path); 
    this.indexSearcherType = type; 
} 
... 
} 

の下に見つけることができますStringからResource - springへの引数型が変換を行い、処理できるリソースオブジェクトを与えます。 XMLWebApplicationContext(コンテキストがContextLoaderListenerまたはDispatcherServletによって作成されている場合はデフォルト)を使用する必要があります。

詳しくはpageをご覧ください。

+0

私のために働いた歓声 –

関連する問題