thymeleaf知識点整理
9849 ワード
thymeleaf知識点整理
情報出力情報出力は が出力される.は、 を出力する.が変数を出力するとき がリソースプロファイルの内容を出力する場合、 を参照することができる.テンプレート・シンタックスは、 のような数値計算も含む.
パス処理
オブジェクト内蔵操作
アクセス変数は
ショートカット
Web においてThymeleafをご になる 、 のエキスプレス を して、 パラメータ、 び プログラム にアクセスすることができます.
これらは のオブジェクトではなく、 のセットに されたMapの ですので、#なしでそれらを します.ある 、 として われています. param: パラメータに います.{param.foo}は、foo パラメータ を つ つのString[]であるため、 には$param.foo[0]]は、 の の に される. session:session を することに する. appication: すべきプログラムまたはservletの の を することに する. オブジェクト が である.
な
XMLタイプのテンプレートでは、 に を してはならず、 &ltを しなければならない.と> つのより な は、これらの を する :gt(>)、lt(=)、le(=)、(!)である.eq(=)、neq/ne(=)もあります.
switch
の
データ
List
List は であり、 の インデックスは、0から されます.これはindex です. の インデックスは、1から されます.これはcount です. における の .これはsize です されるiter .これはcurrent です. の は かそれとも か.これらはeven/oddブール です. の は の かどうか.これはfirstブールの です. の は の かどうか.これはlastブールの です. Map
MapとListのデータ は なるが、Mapも であり、 された は
のテンプレートの で、 はいつも のテンプレートから の を むことを んでいます. えば、 、 、メニューなどの です. の を するために、まず th:insertは も です. ラベルを するラベル に に します. th:replaceは に された を いて ラベルを する. th:includeはth:insertに ています. は し みではなく、この の だけを し んでいます. な は の りです.まずHTMLセグメントを きます. にいます
ラベルには の が3 まれています.
の は の りです.
情報出力
というフォーマットを使用しており、th:text
という属性を使用すると、変換されたコンテンツ
というフォーマットを用いて、非変換後のコンテンツを出力し、そのまま${}
というフォーマットを使用します.たとえば、${val}
と文字列と変数をつなぎ合わせて+
を使用します.
を使用して、このようなフォーマットは、
がパラメータを含む変数であれば、#{msg}
を使用して、msg
#{msg('123')}
の結果、
パス処理
のタグ属性と :3
のタグ属性が同時に現れた場合、html
のタグ属性のみが有効となる.例えば、thymeleaf
とthymeleaf
の2つの属性が同時に存在し、src
の中のコンテンツだけが有効となるため、一般的にはth:src
のタグ属性が使用される.th:src
のラベル属性は、静的リソースとリンクを特定する際に、独自の文法セットを有する.例えば、thymeleaf
というファイルを導入するには、このように書く必要があります.thymeleaf
、URLもこのように書く必要があります.オブジェクト内蔵操作
アクセス変数は
@{}
式を使い、static/js/main.js
内蔵のオブジェクトにアクセスすると
という を する.ショートカット
Web においてThymeleafをご になる 、 のエキスプレス を して、 パラメータ、 び プログラム にアクセスすることができます.
これらは のオブジェクトではなく、 のセットに されたMapの ですので、#なしでそれらを します.ある 、 として われています.
#ctx: 。
#vars: 。
#locale: 。
#request :( Web Contexts )HttpServletRequest 。
#response:( Web )HttpServletResponse 。
#session :( Web )HttpSession 。
#servletContext :( Web )ServletContext 。
ツール オブジェクト#execInfo: 。
#messages: , #
{...} 。
#uris: URL / URI
#conversions: ( ) 。
#dates:java.util.Date : ,
#calendars: #dates, java.util.Calendar 。
#numbers: 。
#strings:String :contains,startsWith,prepending /
appending
#objects: 。
#bools: 。
#arrays: 。
#lists: 。
#sets: 。
#maps: 。
#aggregates: 。
#ids: id ( , )
オブジェクト
は にアクセスし、${}
は されたオブジェクトの にアクセスする. されたオブジェクトがない り、$と* は く じです.thymeleaf
が されたオブジェクトの にアクセスするには、${#}
の が であり、 えば<div th:object="${member}">
<p th:text="*{mid}" />
div>
${ }
は*{ }
オブジェクトの の つである.な
XMLタイプのテンプレートでは、 に を してはならず、 &ltを しなければならない.と&gt; つのより な は、これらの を する :gt(>)、lt(=)、le(=)、(!)である.eq(=)、neq/ne(=)もあります.
switch
の
*{ }
と ってth:object
がありません.データ
List
List は であり、
mid
を い、member
はループされた オブジェクトであり、switch
は である. は、 th:each で され、 のデータを みます.MapとListのデータ は なるが、Mapも であり、 された は
default
オブジェクトである.したがって、Mapを するときは、 のような である.<div th:each="personEntry: ${persons}">
<p th:text="${personEntry.key}" />
<p th:text="${personEntry.value.name}" />
div>
のテンプレートの で、 はいつも のテンプレートから の を むことを んでいます. えば、 、 、メニューなどの です. の を するために、まず
th:each="item,iterStat : ${lists}"
を してコードセグメントを し、item
、iterStat
、Map.Entry
を する(thymeleaf 3.0では を しない). いは の りです<footer th:fragment="copy">
© 2020
footer>
ラベルには の が3 まれています.
<div th:insert="footer :: copy">div>
<div th:replace="footer :: copy">div>
<div th:include="footer :: copy">div>
<div>
<footer>
© 2020
footer>
div>
<footer>
© 2020
footer>
<div>
© 2020
div>