从wicket中的属性模型获取属性表达式

时间:2014-04-11 16:41:19

标签: java wicket

我在页面上有一个模型为CompoundPropertyModel的表单。我在这张表格上收到了很多孩子。

我的目标是创建一个行为,该行为可以确定行为附加到的对象具有哪个属性表达式(或者如果它具有非属性表达式则抛出异常)。

我试图在bind方法中执行此操作,以便在无法配置的情况下,我会尽早发现。

我从组件中提取模型。当我意识到检索到的模型不一定是我期待的instanceof时,我正要做AbstractPropertyModel,因为我使用CompountPropertyModel这样做。

所以我的问题是:有没有一种可靠的方法可以在不知道模型的类型的情况下找到给定模型的属性表达式,但知道它是属性模型? (当我说'属性模型'我的意思是任何基于属性表达式的模型)

1 个答案:

答案 0 :(得分:2)

在Wicket'知道它是一个房产模型'意味着它是AbstractPropertyModel - 因此您的instanceof支票应该可以正常使用。

如果您依赖CompoundPropertyModel隐式初始化模型,那么它仍然是AbstractPropertyModel。在查询模型之前,请确保已将组件添加到提供CompoundPropertyModel的父级。