thymeleaf知識点整理

9849 ワード

thymeleaf知識点整理
情報出力
  • 情報出力は というフォーマットを使用しており、th:textという属性を使用すると、変換されたコンテンツ
  • が出力される.
  • は、 というフォーマットを用いて、非変換後のコンテンツを出力し、そのまま
  • を出力する.
  • が変数を出力するとき${}というフォーマットを使用します.たとえば、${val}と文字列と変数をつなぎ合わせて+を使用します.
  • がリソースプロファイルの内容を出力する場合、を使用して、このようなフォーマットは、がパラメータを含む変数であれば、#{msg}を使用して、
  • を参照することができる.
  • テンプレート・シンタックスは、msg #{msg('123')}の結果、
  • のような数値計算も含む.
    パス処理のタグ属性と :3のタグ属性が同時に現れた場合、htmlのタグ属性のみが有効となる.例えば、thymeleafthymeleafの2つの属性が同時に存在し、srcの中のコンテンツだけが有効となるため、一般的にはth:srcのタグ属性が使用される.th:srcのラベル属性は、静的リソースとリンクを特定する際に、独自の文法セットを有する.例えば、thymeleafというファイルを導入するには、このように書く必要があります.thymeleaf、URLもこのように書く必要があります.
    オブジェクト内蔵操作
    アクセス変数は@{}式を使い、static/js/main.js内蔵のオブジェクトにアクセスするとという を する.
    ショートカット
    Web においてThymeleafをご になる 、 のエキスプレス を して、 パラメータ、 び プログラム にアクセスすることができます.
    これらは のオブジェクトではなく、 のセットに されたMapの ですので、#なしでそれらを します.ある 、 として われています.
  • param: パラメータに います.{param.foo}は、foo パラメータ を つ つのString[]であるため、 には$param.foo[0]]は、 の の に される.
  • session:session を することに する.
  • appication: すべきプログラムまたはservletの の を することに する.
  • オブジェクト
    #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 で され、 のデータを みます.
  • の インデックスは、0から されます.これはindex です.
  • の インデックスは、1から されます.これはcount です.
  • における の .これはsize です
  • されるiter .これはcurrent です.
  • の は かそれとも か.これらはeven/oddブール です.
  • の は の かどうか.これはfirstブールの です.
  • の は の かどうか.これはlastブールの です.
  • Map
    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}"を してコードセグメントを し、itemiterStatMap.Entryを する(thymeleaf 3.0では を しない). いは の りです
  • th:insertは も です. ラベルを するラベル に に します.
  • th:replaceは に された を いて ラベルを する.
  • th:includeはth:insertに ています. は し みではなく、この の だけを し んでいます.
  • な は の りです.
  • まずHTMLセグメントを きます.
  • <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>