Jsf rowSelectListener="#{bean.method}";抛出javax.el.ELException:类';Bean';没有属性';方法';

Jsf rowSelectListener="#{bean.method}";抛出javax.el.ELException:类';Bean';没有属性';方法';,jsf,primefaces,el,Jsf,Primefaces,El,我将PrimeFaces JAR库从版本2更改为版本5,现在得到了这个异常 javax.servlet.ServletException:/home.xhtml:类 “com.primefaces.sample.UserManagedBean”没有该属性 “onUserSelect”。 javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)根目录 原因 javax.el.ELException:/home.xhtml:类 “c

我将PrimeFaces JAR库从版本2更改为版本5,现在得到了这个异常

javax.servlet.ServletException:/home.xhtml:类 “com.primefaces.sample.UserManagedBean”没有该属性 “onUserSelect”。 javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)根目录 原因

javax.el.ELException:/home.xhtml:类 “com.primefaces.sample.UserManagedBean”没有该属性 “onUserSelect”

xhtm页面包含
p:datatable

rowSelectListener="#{userManagedBean.onUserSelect}"
rowUnselectListener="#{userManagedBean.onUserUnselect}"
豆子:

public void onUserSelect(SelectEvent event) {
    selectedUser = (User) event.getObject();
    System.out.println("selectedUser = " + selectedUser);
}

public void onUserUnselect(UnselectEvent event) {
    selectedUser = null;
}

那么,为什么这不适用于PrimeFaces 5而适用于PrimeFaces 2版本呢?

如果您进行检查,您会注意到您在任何地方都找不到
行选择侦听器
属性,但它存在于中。也许您想看看
rowSelect
rowSelect
事件的
onRowSelect和
onRowSelect
监听器(Primefaces 5用户指南第167页)。另请参见此处:

如果选中,您会注意到,您在任何地方都找不到
rowSelectListener
属性,但它存在于中。也许您想看看
rowSelect
rowSelect
事件的
onRowSelect和
onRowSelect
监听器(Primefaces 5用户指南第167页)。另请参见此处:

不要使用任何供应商的包层次结构,因为您似乎有意或无意地尝试了
com.primefaces
(尽管它实际上是
org.primefaces
)。这可能会导致严重后果,因为在使用不同供应商的不同API时可能会发生冲突。不要使用任何供应商的包层次结构,从域名的倒数开始,因为您似乎有意或无意地尝试过-
com.primefaces
(尽管它实际上是
org.primefaces
)。它可能会导致严重后果,因为在使用不同供应商的不同API时可能会发生冲突。