何Thymeleafこと?
それはアーティストがブラウザで静的ページの効果を確認することができますが、また、プログラマは、サーバ上のデータと動的ページの効果を確認することができますことを1.Thymeleaf Jiekeネットワークの環境下で実行され、非ネットワーク。これは、HTMLのプロトタイプをサポートしているためで、その後、データのhtmlタグテンプレート+表示に達成するために追加の属性を追加します。thymeleafテンプレートを静的に実行することができますので、ブラウザは、未定義のhtmlタグの属性の解釈を無視し、データをページに戻ることがある場合に、Thymeleafラベルは動的、静的コンテンツ、動的な表示ページを置き換えます。
箱の特性のうち2.Thymeleaf-使用しています。これは、標準と春の標準的な2つの方言を提供し、直接ラベルを変更、JSTLに悩まさJSTLを達成するためのテンプレート、OGNL式の効果、日テンプレートあたりの回避セットを、適用することができます。同時に、開発者が独自の方言を拡張して作成することができます。
3. Thymeleaf標準の方言と完璧な春を提供し、SpringMVCは、オプションのモジュールを統合し、あなたはすぐにバインディング、プロパティエディタ、国際およびその他の機能のフォームを達成することができます。
共通の属性:
、番目のプロパティ
共通番目のプロパティの解釈
一部のHTML属性は、Thymeleafは基本的に持っているが、7または8についての共通の属性。請求項1から8番目の優先順位属性が優先順位番号より低い、より高い、行わ。
A、TH:テキスト :セット現在の要素のテキストコンテンツ、ならびに同様の機能目:のutext両者の違いは、前者は、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
プロパティ番目の一般的な使用方法
次の5つの点に注意する使用Thymeleaf属性ポイントは:
まず、Thymeleafの文法を使用するには、最初に名前空間を宣言する必要があります。 xmlns:th="http://www.thymeleaf.org"
テキスト、目の設定値入力:値、出力サイクル目:第二、テキスト番目の各セットを、条件付き目:変数目に宣言断片:挿入、定義されたブロック目:番目のコードブロックに、場合物体
三、目:各使用の必要特別な注意、アナロジー:あなたはdivタグのPにループする場合は、番目:各プロパティは、pタグの上に配置する必要があります。あなたは番目の希望の場合:div要素の各属性を、ループが全体のdivにあります。
第四には、変数式は、多くの組み込みの方法は、この方法は、内蔵#混同しないで下さいメッセージ式}#{で始まることです提供します。
五、第:挿入、目:目、交換してください:コードブロックへの3種類が同様の効果が含まれていますが、非常に異なります。
<!DOCTYPE HTML > <! - 名前空間- > < HTML LANG = "EN" のxmlns:TH = "http://www.thymeleaf.org" > < 頭> < メタのcharset = "UTF-8" > < タイトル> Thymeleaf構文</ タイトル> </ ヘッド> < 身体> < H2 > ITDragon Thymeleaf構文</ H2 > <! - TH:テキスト要素の現在のテキストは、一般的に、優先度が高くない設定- > <P 番目:テキスト= "$ {} thText" /> < P TH:のutext = "$ {thUText}" /> <! - TH:現在の要素の設定値値値、一般的に、唯一の優先thより:テキストハイ- > < INPUTのタイプ= "テキスト" TH:値= "$ {thValue}" /> <! - TH:各トラバースリスト、一般的に、高優先順位、これはコードブロックのみに挿入される- > <! - TH:DIVの各変形、繰り返し層のdiv、pタグだけで横断し、タグをpに変更された場合- > < divのTH:各= "メッセージ:thEach $ {}" > <! - 全体のp-DIVを通じて、お勧めできません- > < P TH:テキスト= "$} {メッセージ" /> </ DIV > <DIV > <! -トラバースpのみ、お勧めします- > < P TH:テキスト= "$ {}メッセージ" TH:各= "メッセージ:thEach $ {}" /> </ divの> <! - TH:同様の条件判断、IFそこ番目:それぞれ、ビルトイン方式の#strings可変式である:優先番目後ケース、:スイッチ、目- > < P TH:テキスト= "$ {} THIF" TH:IF =「$ないstrings.isEmpty#{(THIF)} " > </ P > <! - TH:INSERTは、コードに最も高い優先度を現在のブロックをDIV、同様の目があります:置き換えるには、目:含まれ、 〜{}: 式のブロック- > < divのTH:INSERT = "〜{文法/共通thCommon} ::" > </ divの> <!- TH:オブジェクト宣言変数、{*}と一緒に使用されます- > < divの目:オブジェクト= "$ {thObject}" > < P > ID:< スパン目:テキスト= "* {ID}" /> </ P > <! - 目:テキスト= "$ {thObject.id }」- > < P > TH:< スパン目:テキスト= "* {thName}" /> </ P > <! - $ {thObject.thName} - > < P > DE:< スパン番目:テキスト= "* {DESC}" /> </ P > <!- $ {thObject.desc} - > </ divの> </ ボディ> </ HTML >
コントローラレベルのコード
輸入com.itdragon.entities.ThObject; 輸入org.springframework.stereotype.Controller; 輸入org.springframework.ui.ModelMap; 輸入org.springframework.web.bind.annotation.RequestMapping。 輸入はjava.util.ArrayList; 輸入java.util.Arrays。 輸入はjava.util.List; @Controller パブリック クラスThymeleafController { @RequestMapping( "thymeleaf" ) パブリック文字列thymeleaf(ModelMapマップ){ map.put( "thText"、 "目:テキスト设置文本内容<B>加粗</ B>" ); map.put("thUText"、 "目:のutext設けテキスト<B>太字</ B>" ); map.put( "thValue"、 "現在の要素のthValue設定値" ); map.put( "thEach"、 Arrays.asList( "目:各"、 " リストを横断" )); map.put( "THIF"は、 "MSGがNULLでない" ); map.put( "thObject"、新たな新 thObject(1L、「TH:オブジェクト""怠惰"の第属性)); 戻り "文法/ Thymeleaf " ; } }
オリジナルリンク:https://www.cnblogs.com/itdragon/archive/2018/04/13/8724291.html