taiPyのお悩み解決ブログ

日々の発見をまとめます!

Thymeleafの`[*{birth}]`と`[${birth}]`の違いについて。

Thymeleafの[*{birth}][${birth}]の違い

  1. [*{birth}]:

    • [*{...}]は、プレースホルダー式(Placeholder Expression)として知られています。
    • プレースホルダー式は、Thymeleafがデータをテンプレートに表示する際に、対応するモデルオブジェクトから属性を動的に解決します。
    • この式は、コンテキスト内のオブジェクトのプロパティを参照するために使用されます。*は現在のオブジェクトを指します。
    • 例えば、[*{birth}]は、現在のオブジェクトのbirthプロパティを取得し、それを表示します。
  2. [${birth}]:

    • ${...}は、変数式(Variable Expression)として知られています。
    • 変数式は、明示的にモデルに追加された属性を参照します。モデル内のオブジェクトに直接アクセスするのではなく、モデル内の属性を参照します。
    • 例えば、[${birth}]は、モデル内でbirthという名前の属性が定義されている場合、その値を表示します。

したがって、[*{birth}]は現在のオブジェクトのプロパティを参照し、[${birth}]はモデル内の属性を参照します。どちらを使用するかは、テンプレート内のデータの出所によって異なります。