当您不提供AjaxLink
泛型类型时会发生此错误。例如:
new AjaxLink("id")
而不是类似的东西:
new AjaxLink<Void>("id")
AjaxLink 有如下定义:
public abstract class AjaxLink<T> extends AbstractLink implements IAjaxLink, IGenericComponent<T, AjaxLink<T>>
祖先类是MarkupContainer
,它定义了:
public MarkupContainer setDefaultModel(final IModel<?> model)
它实现IGenericComponent
了具有泛型类型,这些类型<T, C extends IGenericComponent<? super T, ?>>
分配了类型<T,AjaxLink<T>>
并定义了方法:
Component setDefaultModel(IModel<?> model);
现在,我不完全确定我是否完全理解了这个问题,但不知何故,由于缺乏泛型类型,编译器无法确定MarkupContainer
(返回MarkupContainer
)的实现与IGenericComponent
.