ThymeleafのScript inlining

  • 利用バージョン 2.0.16

Thymeleafは@{/user/}と書くと、コンテキスト名を自動的に補完して、 /contextName/user/ のようにしてくれる。
server.xmlでコンテキスト名を変えたりしている場合に便利。
JavaScriptAjaxを扱う場合で、上記のようにコンテキスト名を自動補完させたい場合は、以下のようにする。

<html xmlns:th="http://www.thymeleaf.org" lang="ja">
.
.
.
<script th:inline="javascript">
  var uri = /*[[@{/sample/}]]*/ '/tmpContextName/sample';

  // ajax processing
  .
  .
  .
  • scriptタグに th:inline="javascript" を記載
  • /*[[]]*/ の中にThymeleafの変数の記載をする。これは左記のように連続して書く。スペースが入っていると置き換えられないので注意

出力結果

<script th:inline="javascript">
  var uri = '/contextName/sample';
  .
  .
  .