ListDataModel <car>或只是ListDataModel?</car>

时间:2013-11-29 22:07:03

标签: jsf primefaces

我想在这里克隆示例http://primefaces.org/showcase/ui/datatableRowSelectionRadioCheckbox.jsf 但是,Netbeans告诉我“

>类型ListDataModel不接受参数”
public class CarDataModel extends ListDataModel<Car> implements SelectableDataModel<Car>

在CarDataModel.java

如果我删除Car参数,例如

public class CarDataModel extends ListDataModel implements SelectableDataModel<Car>

它编译没有任何错误,jsf页打开空数据表。

我做错了什么?

感谢您的帮助。

PM 4.0.4,Jboss 7.1.1

1 个答案:

答案 0 :(得分:2)

你得到的错误意味着你试图在一个不通用的类上指出一个类型参数,也就是那个不期望它的类。

对过去的Java EE版本的检查表明,在Java EE 5中,ListDataModel是非泛型的,而在Java EE 6 + ListDataModel<E>中确实是。{/ p>

由于泛型已经成为Java SE 5年代以来的Java工件,Sun可能决定为Java EE 5留下非通用版本的列表模型。

至于解决方案,在类路径中查找旧的JSF库并将它们升级到JSF 2+(截至2013年12月,JSF版本为2.2)。或者,当应用程序服务器与JSF捆绑在一起,并且您已经拥有最新的应用程序服务器时,您可以完全删除webapp的JSF库。