3

Spring Mvcを使用しており、 JavaScriptファイルでEL変数(例${pageContext.request.contextPath})を使用したいと思います。.js

これは可能ですか?もしそうなら、どのように?

4

2 に答える 2

2

<script>これを実現するもう 1 つの一般的な方法は、グローバル JS オブジェクト、変数、または初期化関数に追加して、タグ内の呼び出し JSP ページで JSTL 値 (contextPath など) を宣言することです。これらの値は、元の JSP ページによって呼び出される外部 JS ファイルで参照できます。

参照: 「JSP タグ内での JavaScript の使用」に対するこの回答

少し大雑把ですが、 JAWRなどのツールを使用している場合は、これが唯一の選択肢かもしれません。

于 2012-10-26T10:30:08.423 に答える
1

JS を含むテンプレートを作成し、テンプレートに補間される変数として contextPath を渡すことができます。

@RequestMapping(value="path/to/handler", method = RequestMethod.GET, produces ="text/javascript")
public ModelAndView getJs(HttpServletRequest request) {
  String contextPath = request.getContextPath();
  return new ModelAndView("/path/to/js/", "contextPath", contextPath);
}

しかし、なぜこれを行う必要があるのでしょうか。コンテキスト パスはクライアントでも使用できます。

編集:

これが機能するには、テンプレートが処理されるようにViewResolverを設定する必要がある場合があります (まだ持っていない場合)。

ページには、通常どおりスクリプトを含めるだけです。

<script type="text/javascript" src="path/to/handler" />
于 2012-10-26T08:22:50.577 に答える