![](/img/trans.png)
[英]Primefaces SelectOneMenu: Selected item is not set in Managed Bean
[英]How to execute managed bean method on selectOneMenu change?
我有以下托管豆:
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
提前致谢
如果Holger的解决方案行得通,那就没问题了。
但是:以小写字母开头的Java类名很可怕。 您可以以大写字母开头,JSF会为您管理,因此您仍然可以使用listener =“#{myBean.mostrarCentroSeleccionado()}”如果这不符合您的要求,则可以使用@ManagedBean(name =“ myBean” )您可以选择自己想要的东西来代替myBean。
问题出在标签中:
<p:ajax listener="#{MyBean.function()}"/>
该函数必须具有“()”,因为我不参加该事件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.