私は Thymeleaf の初心者です。コンテキスト変数として設定されたオブジェクトがあります。
ctx.setVariable("name", myObject);
このオブジェクトにはいくつかのプロパティがありますが、「name.property1.subproperty1」を使用してそれらを選択することはできません
ある時点で同じテンプレートでレンダリングname.property1.subproperty
しname.property2.subproperty
たいので、変更される可能性があるため、テンプレートでこの選択をハードコーディングしたくないからです。
次のような別のコンテキスト変数を宣言することを考えていました。
String[] listOfProperties = {"property1", "property2"};
ctx.setVariable("properties", listOfProperties);
テンプレートで次のようなことを行います。
${myObject.?[listOfProperties[0]].subproperty1}
${myObject.?[listOfProperties[1]].subproperty2}
つまり、レンダリングするプロパティを Java コードから制御したいということです。プロパティのテンプレートがあり、同じタイプのテンプレートをさらに作成したくありません。プロパティ テンプレートを myObject Template に含めると、一度だけレンダリングされるため、このアプローチを選択した理由です。
申し訳ありませんが、うまく説明できません...ありがとう。