ThymeleafのScript inlining
- 利用バージョン 2.0.16
Thymeleafは@{/user/}と書くと、コンテキスト名を自動的に補完して、 /contextName/user/ のようにしてくれる。
server.xmlでコンテキスト名を変えたりしている場合に便利。
JavaScriptでAjaxを扱う場合で、上記のようにコンテキスト名を自動補完させたい場合は、以下のようにする。
<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'; . . .