2017-02-17 2 views
0

私の現在の春のプロジェクトでは、カスタムのタイメリーフプロセッサを作成しました。このプロセッサの実装では、アプリケーションのURLを取得する必要があり、jspページで${pageContext.request.contextPath}の値が返されます。誰かがそれを得る方法を知っていますか?ビュー内タイムリーフプロセッサ内のアプリケーションからURLを取得するにはどうすればよいですか?

答えて

0

:Thymeleafで

、JSPの${pageContext.request.contextPath}の同等は@{ }、すなわちだろう。 ${pageContext.request.contextPath}/loginのようなjspのURLがあれば、thymeleafでは@{/login}となります。/[[ - ]] /構文は次のように、JavaScriptで変数を評価するためにThymeleafで使用されvar url = /*[[@{/login}]]*/;

参考:http://www.thymeleaf.org/doc/articles/standardurlsyntax.html

内部プロセッサのクラス:

まずあなたがコンテキストをキャストする必要がありますIWebContextに渡してから、getRequestを呼び出すHttpServletRequestオブジェクトを取得し、最後にrequest.getContextPath()を呼び出してコンテキストパスを取得します。 instanceof演算子を使用してコンテキストがIWebContextのタイプであるかどうかを確認することができますが、ここでは省略します。

final HttpServletRequest request = ((IWebContext) context).getRequest(); 
    System.out.println("contextpath: " + request.getContextPath()); 
+0

これは私が既に私の見解で使っているものです。私は私のカスタムプロセッサのJavaクラスでこの情報を取得したい。 –

+0

私の誤解には申し訳ありません。答えが更新され、今すぐチェックしてください。 :-) – mhshimul

関連する問題