【问题标题】:rowSelectListener="#{bean.method}" throws javax.el.ELException: The class 'com.example.Bean' does not have the property 'method'rowSelectListener="#{bean.method}" 抛出 javax.el.E​​LException:类 'com.example.Bean' 没有属性 'method'
【发布时间】:2016-06-10 07:39:37
【问题描述】:

我将 PrimeFaces JAR 库从版本 2 更改为版本 5,现在出现此异常。

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

javax.el.E​​LException: /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 版本?

【问题讨论】:

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

标签: jsf primefaces el


【解决方案1】:

如果您检查Primefaces 5 user guide,您会注意到在任何地方都找不到rowSelectListener 属性,但它存在于Primefaces 2 中。也许您想看看rowSelectrowUnselect<p:ajax> 事件的onRowSelectonRowUnselect 侦听器(Primefaces 5 用户指南的第167 页)。参见这里:Primefaces tag rowSelectListener not found.

【讨论】:

    猜你喜欢
    • 2011-12-18
    • 1970-01-01
    • 2015-12-07
    • 2023-03-25
    • 2012-11-06
    • 1970-01-01
    • 1970-01-01
    • 2016-12-29
    • 2016-08-30
    相关资源
    最近更新 更多