0

我有以下托管 Bean:

import javax.faces.bean.ManagedBean;

@ManagedBean
public class MyBean {

    public void mostrarCentroSeleccionado() {
        System.out.println("Value changed");
    }

}

在我的 .xhtml 文件中,有以下 selectOneMenu:

<p:selectOneMenu value="#{MyBean.centros.idcentro}" >

    <p:ajax event="change" listener="#{MyBean.mostrarCentroSeleccionado}" />

    <f:selectItem itemLabel="Seleccione un centro" itemValue="" />
    <f:selectItems value="#{MyBean.centros}" />
</p:selectOneMenu>

当我运行该代码时,出现以下异常:

javax.el.MethodNotFoundException

提前致谢

4

2 回答 2

0

如果 Holger 的解决方案成功了,那就没问题了。

但是:以小写字母开头的 Java 类名是可怕的。您可以以大写字母开头,JSF 将为您管理它,因此您仍然可以使用 listener="#{myBean.mostrarCentroSeleccionado()}" 如果这不符合您的要求,您可以使用 @ManagedBean(name = "myBean" ) 而不是 myBean,您可以选择任何您想要的。

于 2016-07-07T13:34:05.347 回答
0

问题出在标签中:

<p:ajax listener="#{MyBean.function()}"/>

该函数必须具有“()”,因为我不参加该活动。

于 2016-07-11T12:53:28.287 回答