Wicket 表单中的 getModel() 和 getDefaultModel() 有什么区别?
What is the difference between getModel() and getDefaultModel() in a Wicket Form?
使用 Apache Wicket 7. 表单中应使用哪种模型?组件的默认模型还是窗体本身的模型?
唯一的区别是 getModel()
是类型安全的,但它们 return 是同一个对象。
下面是 Form.getModel()
的 7.0.0 实现,例如:
@Override
@SuppressWarnings("unchecked")
public final IModel<T> getModel()
{
return (IModel<T>)getDefaultModel();
}
这一切都可以追溯到 Wicket 1.3 -> 1.4 过渡,它将泛型引入 Wicket,设计决策是将旧的 getModel()
方法重命名为 getDefaultModel()
并重新定义 getModel()
在某些组件中使用该组件的类型参数。
长话短说:尽可能使用 getModel()
。
这与选择使用单个组件模型还是使用一个大模型作为表单无关。
使用 Apache Wicket 7. 表单中应使用哪种模型?组件的默认模型还是窗体本身的模型?
唯一的区别是 getModel()
是类型安全的,但它们 return 是同一个对象。
下面是 Form.getModel()
的 7.0.0 实现,例如:
@Override
@SuppressWarnings("unchecked")
public final IModel<T> getModel()
{
return (IModel<T>)getDefaultModel();
}
这一切都可以追溯到 Wicket 1.3 -> 1.4 过渡,它将泛型引入 Wicket,设计决策是将旧的 getModel()
方法重命名为 getDefaultModel()
并重新定义 getModel()
在某些组件中使用该组件的类型参数。
长话短说:尽可能使用 getModel()
。
这与选择使用单个组件模型还是使用一个大模型作为表单无关。