我正在学习 Wicket,想知道 PropertyModel 如何动态检索其数据。
我明白,为了使模型动态化,我们必须覆盖 getObject 方法。谁能解释一下 PropertyModel 的内部工作原理?
最佳答案
PropertyModel 通常通过为对象上的给定属性表达式调用 getter 来获取其模型对象,例如 new PropertyModel(object, "name")
将尝试计算 object.getInnermostModelOrObject ().getName()
。
但是,您可以像这样传递一个特定的方法名称:new PropertyModel(object, "calculateName()")
,它将评估为 object.getInnermostModelOrObject().calculateName()
。
如果您将 IModel 作为 PropertyModel 的支持对象传递,则将返回模型对象属性(请参阅 ChainingModel),从而为您提供动态模型对象。
你可以在这里看到表达式语言:https://ci.apache.org/projects/wicket/apidocs/7.x/org/apache/wicket/core/util/lang/PropertyResolver.html
关于model - wicket Property Model如何动态获取数据到其组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41346519/