thymeleaf3.0の使用

まず、共通のテンプレート比較エンジン

簡単な紹介
JSP Java Server Pages、動的なウェブ技術、コンパイルして実行し、クライアントにページ全体の背中を生成するためのJSPエンジン内のアプリケーション・サーバによって。サポート式言語(EL、JSTL)。それは、サーバー側のレンダリング、消費性能上にあるので、とてもspringbootプロジェクトは、JSPを使用することは推奨されません
FreeMarkerの ファイルは一般として保存されているxxx.ftl(JVMのメモリを取ることはありません)サーブレットコンテナに依存しない、MVCパターンに厳密に依存、構文がより複雑なコントラストthymeleafです
thymeleaf springbootメインプッシュテンプレートエンジン、軽量なテンプレートエンジン(ビジネスロジックの責任を推奨、またはDOMのXMLの解析とより多くのメモリを占有しますされていません)。ブラウザで直接開くと正しく表示することができますことは、それはテンプレートページファイルはHTMLで終わる、表現に影響を与えません。

二、thymeleafラベル

①th:テキスト

現在の要素のテキストの内容を設定します。同様の修飾は、同様の特性を開発するためにth:utext、後者は逃れられないだろうことを除いてhtmlラベルを

②th:値

現在の要素に設定しvalueた値を。同様のがありth:srcth:href

③th:各

要素をループ。th:each="item : ${collection}"そして、使用しth:text="${item}"たラベルの割り当てに代入式を

④th:もし

条件付き。同様にth:unlessth:switchth:case分析の表示は空ではありませんでしたth:if="${not #strings.isEmpty(result)}"

⑤th:挿入

コードブロックが導入されます。同様目を持って:置き換える番目:類;目:現在のラベルに挿入され、挿入、目:インサート:メインラベルの断片:その一次ラベル、第保持を保持します。TTH:置き換えます。Do自身のないメインラベル、保持目:メインラベルのフラグメント。目:含まれます。Do自身のないメインラベル、番目の保持:メインラベルのフラグメント。(公式3.0の後に推奨しません)。

⑥th:フラグメント

定義されたコードブロック

⑦th:オブジェクト

宣言変数。そして、一般的*{}に関連して使用

三、thymeleaf表現

①$ {...}:変数式

共通するのは、組み込みオブジェクト

説明
CTX Contextオブジェクト
その コンテキスト変数
ロケール 言語オブジェクトのコンテキスト
リクエスト 取得HttpServletRequestオブジェクト
応答 取得のHttpServletResponseオブジェクト
セッション 取得のHttpSessionオブジェクト

共通するのは、組み込みの方法

説明
ストリング 文字列の書式設定方法、などのequalsなど、equalsIgnoreCase、長さ、トリム、toUpperCaseの、toLowerCaseメソッド、のindexOf、サブストリング、置き換え、startWith、endsWith、含まれ、containsIgnoreCaseなど
数字 formatDecimal
bools isTrue、isFalse
配列 toArray、長さ、のisEmptyは、のcontainsAllが含まれている等
リスト、セット ToListメソッド、サイズ、のisEmpty、含まれている、のcontainsAll、ソート等
マップ サイズ、のisEmpty、のcontainsKey、のcontainsValue等
日付 形式、年、月、時間、createNow等

②@ {...}:リンク式

あなたは、動的プロジェクトパスを取得することができます

③#{...}:メッセージ発現

④〜{...}:式のコードブロック

これは、2つの文法構造をサポート
:推奨~{templatename::fragmentname}
サポート:~{templatename::#id}

⑤* {...}:変数式を選択します

とに使用th:object組み合わせ

第四に、ノートthymeleaf使用

1、名前空間を宣言します。xmlns:th="http://www.thymeleaf.org

図2に示すように、テキストコンテンツ設定th:text、設定inputth:value、サイクルの出力th:each、条件決意th:if、コードブロックにth:insertコードブロックが定義されているth:fragmentオブジェクト:番目の変数宣言を

3、th:eachラベルにリサイクルする必要があります。

図4は、変数式は、多くの組み込みの方法を提供する、方法が組み込まれて使用することで#先頭を、としないでください#{}メッセージ式を混乱させる。

5、 、th:insert コードブロックに三種類の効果が、大きな違いと同様。th:replaceth:include

thymeleafを使用して五、SpringBootアプリケーション

①の導入thymeleaf依存性

<dependency> 
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
    <version>3.0.9.RELEASE</version>
</dependency>

②追加設定

#通常thymeleaf默认的编码是HTML5,此时thymeleaf对一些标签的校验非常严格,通常我们需要添加配置spring.thymeleaf.mode=LEGACYHTML5
spring.thymeleaf.mode=LEGACYHTML5
#关闭thymeleaf缓存 开发时使用 否则没有实时画面
spring.thymeleaf.cache=false

③追加nekohtml依存を

セットアップspring.thymeleaf.mode=LEGACYHTML5試合後に追加のライブラリを導入する必要性をNekoHTML

<dependency>
    <groupId>net.sourceforge.nekohtml</groupId>
    <artifactId>nekohtml</artifactId>
    <version>1.9.15</version>
</dependency>
公開された81元の記事 ウォンの賞賛124 ビュー380 000 +

おすすめ

転載: blog.csdn.net/qq_38697437/article/details/104528250