SpringBootの第十章:thymeleafコメント

著者:1819ドリーム
ます。https://www.cnblogs.com/yanfei1819/p/10931435.htmlオリジナル
著作権:この記事はブロガーオリジナル記事ですが、再現し、ボーエンのリンクを添付してください!

入門

  Web用SpringBootサポートは、公式には、テンプレートエンジンthymelafことをお勧めします。この章では、著者が意図を直接SpringBootのThymelafと統合されて説明します。しかし、例では、我々は統合が難しいことではないことがわかります。コア懸念はThymelafテンプレートエンジン自体の使用でなければなりません。したがって、この章では、それを説明するために選び出されます。詳細は、次の章の不可欠な部分です。


簡単な紹介

  ThymeleafはXML / XHTML / HTML5コンテンツテンプレートエンジンをレンダリングするためのツールです。同様等JSP、速度、FreeMaker、容易に、バネMVCなどのWebアプリケーションやWebフレームワークとして、テンプレートエンジンを統合することができます。他のテンプレートエンジンと比較すると、Thymeleaf最大の特徴は、ブラウザで直接開く機能で、Webアプリケーション全体を起動することなく、正しいページテンプレートが表示されます。開発チームで強い調整役を達成。


特長

  • そのプロトタイプのページ。

  • 国際化のサポート。

  • 箱から出して。

  • 春とのシームレスな統合。


標準的な表現の構文

1、${...}変数式、変数式

変数式は、組み込みのオブジェクトとthymleafの組み込みメソッドを使用することができます。例えば:

<p>Today is: <span th:text="${today}">13 february 2011</span>.</p>

2、@{...}リンク式、リンクURL式

静的リソース参照、リンクやその他の形式のリクエストフォーム。例えば:

无参:@{/xxx}

有参:@{/xxx(k1=v1,k2=v2)} 对应url结构:xxx?k1=v1&k2=v2

引入本地资源:@{/项目本地的资源路径}

引入外部资源:@{/webjars/资源在jar包中的路径}

3、#{...}メッセージ発現、メッセージ式

情報の表現は一般的に国際化のために使用します。

4、~{...}発現、フラグメント式ブロック

  コード式は、ページレイアウトのために主に使用されている2つの文法構造をサポートしています。

  • 推奨:~{templatename::fragmentname}
  • サポート:~{templatename::#id}

注意:

  1. TEMPLATENAME:テンプレートフルパス名の解析に基づいて、テンプレート名、Thymeleaf:/resources/templates/templatename.html、ファイルのパスに注意を払います。
  2. fragmentname:フラグメント名前、目によってThymeleaf:断片宣言はすなわち、コードブロックを定義し、:th:fragment="fragmentname";
  3. ID:HTMLは、IDセレクタである前に#記号を追加するために使用された場合、クラスセレクタをサポートしていません。
  4. (目、交換してください:::挿入し、第番目含める)番目のコードブロック式は、複雑なプロパティを必要として使用します。

   目:挿入:全体の断片は番目使用してコードブロックに挿入された:HTMLタグを挿入します。

   目:置き換える:番目用いて全体のコード・ブロック・セグメントを置き換える:HTMLタグを置き換えます。

   目:含める:番目使用に挿入断片を含むコンテンツブロック:HTMLタグを含みます。

5. *{...}選択(アスタリスク)変数式、選択変数式

  式のような式の変数を選択し、彼らが実行されているコンテキスト変数コンテナ(マップ)するのではなく、事前に選択したターゲットを使用します。

  可変式が最も頻繁に使用される、その機能も非常に豊富です。だから我々は、その後、コード式の単純なブロックを開始し、メッセージ式で始まり、式は再びリンクし、最終的に変数式で、選択変数式を導入しています。


ビルトインオブジェクトとメソッド

1、組み込みオブジェクト

  • CTX:コンテキストオブジェクト。
  • VARS:コンテキスト変数。
  • ロケール:ロケールコンテキスト。
  • リクエスト :(唯一のHttpServletRequestのWebコンテキスト内のオブジェクト)の。
  • レスポンス :( Webコンテキスト内のみのHttpServletResponseオブジェクト)の。
  • セッション :(のWebコンテキストでのみHttpSessionオブジェクト)。
  • ServletContext :(のWebコンテキスト)でのみのServletContextオブジェクト。

2、ビルトイン方式

  • 文字列:文字列の書式設定の方法、それは通常のJavaメソッドを持っています。たとえば:等しい、equalsIgnoreCase、長さ、トリム 、toUpperCaseの、toLowerCaseメソッド、のindexOf、ストリング、交換する、のstartsWith、endsWith、含まれているが、containsIgnoreCase 等;

  • 数値:数値の書式設定方法は、一般的に使用される方法は、以下のとおりです。formatDecimal等。

  • bools:ブールの方法は、一般的に使用される方法は、以下のとおりです。isTrueは、同様isFalse。

  • アレイ:アレイ法は、一般的に使用される方法は、次のとおりのtoArray、長さ、のisEmpty、含有 、のcontainsAll 等。

  • リストには設定します:メソッドのセットを、一般的に使用される方法は、以下のとおりです。ToListメソッド、サイズ、のisEmpty、含まれている 、のcontainsAll、並べ替えなどを。

  • マップ:オブジェクトメソッド、一般的に使用される方法であって:サイズ、のisEmpty、のcontainsKey、のcontainsValue等。

  • 日付:日付方法は、一般的に使用される方法は、以下のとおりです。形式、年、月、時間 、createNow ようにと。


式の構文をサポート

リテラル(リテラル)

  • テキストテキスト(文字リテラル): 'one text', 'Another one!',…
  • デジタルテキスト(数値リテラル): 0, 34, 3.0, 12.3,…
  • ブールテキスト(ブールリテラル):true, false
  • 空(NULLリテラル):null
  • ワードマーク(リテラルトークン):one, sometext, main,…

操作テキスト(テキスト・オペレーション)

  • 文字列の連結(文字列連結):+
  • テキスト(リテラル置換)を置き換えます。|The name is ${name}|

算術(演算)

  • バイナリ演算子(二項演算子):+, -, *, /, %
  • マイナス(単項)マイナス記号(単項演算子):-

ブーリアン演算(ブール演算)

  • バイナリ演算子(二項演算子):and, or
  • ブール否定(単項)ブール否定(単項演算子):!, not

比較と同等物(比較と平等)

  • (コンパレータ)を比較します。>, <, >=, <= (gt, lt, ge, le)
  • 等価演算子(等価演算子):==, != (eq, ne)

条件演算子(条件演算子)

  • IF-THEN:(if) ? (then)
  • IF-THEN-ELSE:(if) ? (then) : (else)
  • デフォルト:(値)?:(defaultvalue)


共通番目のプロパティ

  一部のHTML属性は、Thymeleafは基本的に持っているが、一般的には約7または8の属性。請求項1から8番目の優先順位属性が優先順位番号より低い、より高い、行わ。

  • TH:テキスト:現在の要素のテキストの内容を設定し、同じ機能があるのutext:番目の 2つの違いは、htmlタグをエスケープしない前者は、後者が可能になるということです。ない高い優先度:オーダー= 7;
  • TH:値:現在の要素の値を設定し、同様に指定されたプロパティ同様の変形TH:SRCTH:HREFない高い優先度:オーダー= 6;
  • 目:各:ループ素子を介して、そして第テキスト又は番目:値とともに使用。プロパティ変更ラベルの位置に注意し、詳細なルックバック。高優先度:順= 2。
  • TH:IF:条件判断、同様のあるTH:しない限りTH:スイッチTH:ケース高い優先度:オーダー= 3;
  • TH:INSERT:コードブロックの導入は、類似ありTH:置き換えTHを:ザには、差3つの大きな、不適切な使用は、共通シーンの抽出ブロックに使用されるHTML構造を破壊するかどうか。最も高い優先度:オーダー= 1;
  • TH:フラグメント:カスタムコードブロックは簡単番目です:参照を挿入します。最低優先順位:オーダー= 8;
  • TH:オブジェクト:変数の宣言、及び一般* {}と一緒に使用され、効果を達成する怠惰。一般優先:オーダー= 4;
  • 目:ATTR:attrappend、番目:attrprepend助けるために他の目の特性の富があるため、実際の開発ではあまり使用され、任意のプロパティを変更し、同様の目があります。一般優先:オーダー= 5


概要

  全体的に、thymelafの使用はまだ非常に簡単です。

  参照するこの記事thymelaf公式文書記載されているが、いくつかの一般的な使用法や構文です。うまく英語を読むためのリーダーの能力は、推奨される場合はもちろん、公式文書、それを読んを、それが特徴点で明確になります。一方、読者の比較的強い基盤場合、著者はthymelafソースを読むことをお勧めします。テンプレートエンジンは、実際には、一般的な原則は似ています。ここでは、限られたスペース、綿密な説明をしません。

  あなたがフォローアップするための時間を持っている場合、著者はソースコードのシリーズを共有するために、あなたと一緒に勉強します。

参照

   公式文書thymelaf



おすすめ

転載: www.cnblogs.com/yanfei1819/p/10931435.html