Models. Inc
在深入了解HibernateObjectModel之前,我们先来了解一下它实现的IModel接口。
象GUI框架的传统做法(例如Cocoa Bindings)一样,Wicket形式上把UI组件绑定到它们代表的数据上。你可能会认为一个组件只能把一个简单对象作为它的model进行处理,可是有几种办法可以以IModel作为过渡来完成复杂的处理。
首先,它可以将规划中的事情(imaginary projection)作为事实上的model对象。取代把一个对象赋值给所有子组件的做法,你会从把一个CompoundPropertyModel赋值给一个根组件中受益匪浅。这个根model会不附带任何models地自动传递model的消息(requests)给它的子组件。它们的wicket:id值会隐含地映射到根model的属性(properties)。
我们可以将这个同样的思路推广到特定的目标(in unusual directions),就像SublistProjectionModel所做的。