目次1 Thymeleafの紹介
1.1 Thymeleafとは何ですか?
Thymeleafは、HTMLおよびXML、JavaScript、CSS、さらにはプレーンテキストを処理できるWebおよびスタンドアロン環境向けの最新のサーバー側Javaテンプレートエンジンです。
Thymeleafの主な目標は、エレガントで便利なテンプレートの作成方法です。 これを実現するために、ThymeleafはNaturalテンプレートの概念に基づいて、テンプレートファイルにロジックを埋め込み、このテンプレートがプロトタイプデザインの表示に影響しないようにします。 これにより、チームのコミュニケーションが改善され、設計チームとプログラミングチームの間のギャップが減少します。
Thymeleafは、Web標準、特に
HTML5を考慮して、最初から設計されており、標準に完全に準拠したテンプレートを作成できます。
1.2 Thymeleafはどのような種類のパターンを処理できますか?
Thymeleafでは、すぐに6種類のテンプレートを使用できます。各テンプレートは「テンプレート形式/テンプレートモード」と呼ばれます。
- HTML
- XML
- テキスト
- ジャバスクリプト
- CSS
- RAW
合計:2つのマークアップ薬局(HTMLおよびXML)、3つのテキスト形式(TEXT、JAVASCRIPTおよびCSS)および単純な形式(RAW)。
HTML形式は、HTML5、HTML 4、XHTMLなどのHTML標準を意味します。 検証は実行されず、元のテンプレートのコード/構造は可能な限り尊重されます。
XMLテンプレート
形式を使用すると、XMLテンプレートを作成できます。 この場合、コードは整形式であることが期待されます。そうでない場合、閉じたタグがなく、属性引用符などがなければ、パーサーは例外をスローします。 DTDまたはXMLスキーマ検証は実行されないことに注意してください。
TEXTテンプレートモードでは、非マークアップテンプレートに特別な構文を使用できます。 そのようなテンプレートの例は、テキスト文字またはテンプレート文書です。 HTMLまたはXMLテンプレートもTEXTとして処理できることに注意してください。この場合、マークアップは解析されず、各タグ、DOCTYPE、コメントなどはプレーンテキストとして扱われます。
JAVASCRIPTテンプレートモードでは、ThymeleafアプリケーションでJavaScriptファイルを処理できます。 これは、HTMLファイルで実行できるのと同じ方法でJavaScriptファイル内でモデルデータを使用できることを意味しますが、カスタムエスケープやスクリプトなどのJavaScript固有の統合を使用できます。 JAVASCRIPTテンプレートモードはテキストモードと見なされるため、TEXTテンプレートモードと同じ特別な構文を使用します。
CSSテンプレートモードでは、Thymeleafアプリケーションに参加しているCSSファイルを処理できます。 JAVASCRIPTモードと同様に、CSSテンプレートモードもテキストモードであり、TEXTテンプレートモードの特別な処理構文を使用します。
RAWパターンモードは、単にパターンを処理しません。 未処理のリソース(ファイル、URL応答など)を処理済みテンプレートに挿入するように設計されています。 たとえば、外部の制御されていないHTMLリソースをアプリケーションテンプレートに含めることができ、これらのリソースを含むThymeleafコードは実行されません。
1.3方言:標準的な方言
Thymeleafは非常に拡張可能なメカニズムであり(実際にはテンプレートプラットフォームと呼ぶことができます)、テンプレートの処理方法を詳細レベルまで定義およびカスタマイズできます。
マークアップアーティファクト(タグ、テキスト、コメント)に何らかのロジックを適用するオブジェクトはプロセッサと呼ばれ、これらのプロセッサのセットはプラスです。おそらく、いくつかの追加のアーティファクトが方言の構成要素です。 すぐに使えるThymeleafコアライブラリは、
標準ダイアレクトと呼ばれる方言を提供します。これはほとんどのユーザーにとって十分なはずです。
このチュートリアルでは、標準の方言を扱います。 次のページで学習する各属性と構文は、明示的に言及されていなくても、この方言で定義されています。
もちろん、ユーザーは、独自の処理ロジックを定義したい場合は、ライブラリの高度な機能を利用して、独自の方言を作成できます(標準を拡張することもできます)。 Thymeleafは、複数の方言を同時に使用するように構成することもできます。
公式の統合パッケージ「thymeleaf-spring3」および「thymeleaf-spring4」は、「
SpringStandard Dialect 」と呼ばれる方言を定義します。これは基本的に標準方言に一致しますが、Spring Frameworkの一部の機能(Spring Expression Language( SPEL)またはOGNLの代わりのSpringEL)。 したがって、Spring MVCのユーザーである場合は、時間を無駄にしないでください。ここで学んだほとんどすべてがSpringアプリケーションで役立つからです。
ほとんどの標準的な方言プロセッサは属性プロセッサです。 これにより、ブラウザは追加の属性を単に無視するため、処理しなくてもHTMLテンプレートを正しくレンダリングできます。 たとえば、タグライブラリを使用するJSPには、ブラウザで直接表示できないコードが含まれている場合があります。たとえば、
<form:inputText name="userName" value="${user.name}" />
... Thymeleaf Standard Dialectを使用すると、次の機能を実現できます。
<input type="text" name="userName" value="James Carrot" th:value="${user.name}" />
これはブラウザーによって正しく表示されるだけでなく、(オプションで)その中に値属性(「James Marrot」)を指定することもできます。これは、プロトタイプがブラウザーで静的に開かれたときに表示され、実行の結果として取得された値に置き換えられますテンプレート処理中の$ {user.name}。
これにより、設計者と開発者は同じテンプレートファイルを使用して作業し、静的プロトタイプを作業用テンプレートファイルに変換するために必要な労力を削減できます。 これを行う機能は、Natural Templating機能です。
継続する。 第2章タイムズ・グッド・バーチャル・グローサリー