著者: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}
注意:
- TEMPLATENAME:テンプレートフルパス名の解析に基づいて、テンプレート名、Thymeleaf:/resources/templates/templatename.html、ファイルのパスに注意を払います。
- fragmentname:フラグメント名前、目によってThymeleaf:断片宣言はすなわち、コードブロックを定義し、:
th:fragment="fragmentname"
; - ID:HTMLは、IDセレクタである前に#記号を追加するために使用された場合、クラスセレクタをサポートしていません。
- (目、交換してください:::挿入し、第番目含める)番目のコードブロック式は、複雑なプロパティを必要として使用します。
目:挿入:全体の断片は番目使用してコードブロックに挿入された: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:SRC、TH: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ソースを読むことをお勧めします。テンプレートエンジンは、実際には、一般的な原則は似ています。ここでは、限られたスペース、綿密な説明をしません。
あなたがフォローアップするための時間を持っている場合、著者はソースコードのシリーズを共有するために、あなたと一緒に勉強します。
参照