2016-12-27 6 views
2

私はウィッケットを学び、Popertyモデルがどのようにデータを動的に取得するのか知りたいことがあります。私はモデルを動的にしてgetObjectメソッドをオーバーライドする必要があることを理解しています。プロパティモデルでは、内部的に何かをしなければならないと思います。私が読むためのリンクがある場合や、誰かが説明することができれば感謝するでしょう。wicketプロパティモデルはどのようにデータをコンポーネントに動的に取得するのですか?

答えて

5

PropertyModelは通常、オブジェクト上の指定されたプロパティ式のゲッターを呼び出してモデルオブジェクトを取得します。たとえば、new PropertyModel(object, "name")object.getInnermostModelOrObject().getName()を評価しようとします。

しかし、new PropertyModel(object, "calculateName()")のような特定のメソッド名を渡すことができます。これはobject.getInnermostModelOrObject().calculateName()と評価されます。

PropertyModelのバッキングオブジェクトとしてIModelを渡すと、代わりにモデルオブジェクトのプロパティが返されます(ChainingModelを参照)。動的モデルオブジェクトを提供します。

ここで表現言語を確認できます。https://ci.apache.org/projects/wicket/apidocs/7.x/org/apache/wicket/core/util/lang/PropertyResolver.html

関連する問題