有谁知道为什么BookmarkablePageLink
类在wicket中是通用的?我一直在创建新的BookmarkablePageLink<Object>(...)
以避免编译器警告。
我应该选择不同的通用类型吗?简要的代码视图让我更加困惑,为什么它是通用的。
答案 0 :(得分:5)
当推出Wicket 1.4时,开发人员决定对Component
类进行生成。由于BookmarkablePageLink
是Component
的后代(就像Wicket中的几乎所有东西一样),它也变得通用了。
Wicket 1.4 migration guide建议使用Void
作为BookmarkablePageLink
的通用类型,以及泛型类型实际上没有意义的其他Wicket组件。
答案 1 :(得分:4)
从javadoc的简要概述看,在抽象超类Link中可以看到泛型的原因。具体来说,链接允许您通过setModelObject将泛型类型的模型对象与其关联。因此,从他们的示例中,当您覆盖onClick:
时new Link<MyObject>("myLink") {
public void onClick()
{
MyObject obj = getModelObject();
setResponsePage(new MyPage(obj));
}
}
您可以访问相关的模型对象。