2017-03-02 104 views
0

現在のページのURLはhttp://localhost:8080/operator/list.htmlです。このページのAjaxはhttp://localhost:8080/operator/somerequest.html である必要があります。ctx = "http://localhost:8080/operator/"ならajaxはうまくいくはずですが、これをthymeleaf組み込みの表記法と置き換えたいのですが、どうすればいいですか?私はthisを読んだことがありません...thymeleafでURLパスを取得する方法

<script th:inline="javascript"> 
    /*<![CDATA[*/ 
    var ctx = ?; // what thymeleaf annotation 
    /*]]>*/ 
</script> 

var ctx = [[${#httpServletRequest.getContextPath()}]]var ctx = [[@{/}]]を試み、この2の偶数の和が、しています。

答えて

0

この場合、実際には相対URLを使用する必要があります。アプリケーションのコンテキストである/オペレータと仮定すると、thymeleaf生成されるURLは次のようになります。

var url = [[@{/somerequest.html}]]; 

これはあなた/operator/somerequest.htmlの正しいURLを提供します。 ajaxを呼び出すときは(例えば$.post(url))、localhost:8080とみなされます。私の知る限り、thymeleafはurlの "localhost:8080"の部分を取得する機能を提供していません。

関連する問題