Wicket表单中的getModel()和getDefaultModel()有什么区别?

时间:2016-03-14 15:57:02

标签: java wicket

使用Apache Wicket 7.应在表单中使用哪个模型?组件的默认模型或表单本身的模型?

1 个答案:

答案 0 :(得分:5)

唯一的区别是getModel()是类型安全的,但它们都返回相同的对象。

这里是Form.getModel()的7.0.0实现,例如:

@Override
@SuppressWarnings("unchecked")
public final IModel<T> getModel()
{
    return (IModel<T>)getDefaultModel();
}

这一切都可以追溯到Wicket 1.3 - &gt; 1.4过渡,将泛型引入Wicket,设计决策是将旧getModel()方法重命名为getDefaultModel()并在某些组件中重新定义getModel()以使用该组件的类型参数。 / p>

长话短说:尽可能使用getModel()

这与您是否使用单个组件模型或表单中的一个大型模型的选择无关。