ソフラボの技術ブログ

仕事で使ったプログラミング、サーバー周りで役に立つこと、Webサービス開発に必要な技術情報、モバイル情報を書いてます。わかりやすく見やすくをモットーにしています。

Thymeleaf2.xでの「少し困った!」に役立つミニリファレンス集

Thymeleafを使用した開発で、実際に少し困ったことについてまとめてみました。

これから利用する方の役に立てればと思います。

リンクにパラメーターを含める

変数${}の前後に__を追加し、__${}__の形にする。

<a th:href=“@{/hoge/__${e.no}__/add}">hoge</a>

formタグのactionに文字列変数を展開する

変数に定義した文字列をリンクとして展開する場合、@{}内に${}で変数を定義する。

<!-- 通常の文字指定 -->
<form th:action=“@{/hoge}” method=“post”>

<!-- 変数指定 -->
<form th:action=“@{${hoge}}” method=“post”>

「data-」属性に値を設定する

<span th:attr="data-hoge=${hoge}">hoge</span>

変数を含んだ文字列の展開

「|」で括る

<span th:text=“|${hoge}です。|”/>

JavaScriptで変数を扱う

<script>タグにth:inline="javascript"を追加し、/*<![CDATA[*//*]]>*/で括る。
その中での変数は、/*[[]]*/で括る。

<script th:inline="javascript">
/*<![CDATA[*/
    /*[[@{/hoge}]]*/
/*]]>*/
</script>

JavaScriptで変数を文字で連結する

変数を/*[++]*/で括る。

<script th:inline="javascript">
/*<![CDATA[*/
    var val = "aaa" + /*[+ [[${hoge}]]  +]*/;
/*]]>*/
</script>

比較演算子

Thymeleafでは、比較演算子がそのままでは使えないので、次の標記を使用する。

> gt
< lt
>= ge
<= le

変数を文字列として扱い比較する

パスを含む変数を比較したい場合、''で変数を文字列化すると比較できる。

<span th:if="${'__*{path}__' == '/hoge'}">hoge</span>

Thymeleafの記載がある書籍