4

.jar アーカイブにある JavaScript を返す方法はありますか? 現時点では、次の構造を持っています。

webapp
   resources
        scripts
           SomeJavaScript.js
           ...

このような .js ファイルのリストは非常に大きいです。そして、そのようなファイルをすべて含む .jar ファイルがあります。

Spring 構成ファイルには次のものがあります。

  <mvc:resources mapping="/resources/**" location="/resources/"/>

ディスパッチャ サーブレットですべての静的リソースを処理するには。しかし、.jar アーカイブから JavaScript ファイルを読み取ってもらいたいのです。それを行う最も簡単な方法は何ですか?

そのような目的のために独自のコントローラーを作成することは、最良の選択肢ではないと思います。

PS:次の解決策を見つけました:

私は組み込みのTomcat 7を使用しており、Mavenプラグインを使用して起動しています。ここで、リソース ファイルは の下にある必要があると述べWEB-INF/lib/{\*.jar}/META-INF/resourcesましたが、内部を見るspring-js-resources.jarと、実際の場所はWEB-INF/lib/{\*.jar}/META-INF/web-resourcesです。生成されたページには、次のようなリンクが含まれています。

<script type="text/javascript" src="/SomeProjectName/dojo/dojo.js"></script>

そして、このファイルは利用できません。問題を解決するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

5

タグを使用して、属性にパスmvc:resourcesを追加することにより、クラスパス上の .jar ファイルの内容を公開できます。classpath:locations

あなたの場合、それは次のようなものになると思います

 <mvc:resources mapping="/resources/**" location="/resources/, classpath:/META-INF/web-resources/"/>

詳細については、Spring MVC ドキュメントを参照してください。

于 2013-04-23T13:16:14.480 に答える