h:SelectOneMenu valueChangeListenr不会调用

时间:2013-10-15 22:30:42

标签: ajax jsf jboss selectonemenu valuechangelistener

我需要拦截h:SelectOneMenu元素上的valueChange事件,但它不起作用。我能错过什么?

我试过这两个:

<h:selectOneMenu value="#{MainPage.<value_name>}"
                         valueChangeListener="#{MainPage.<method_name>}">
...
</h:selectOneMenu>

和此:

<h:selectOneMenu value="#{MainPage.<value_name>}">
...
    <f:ajax render="@form" event="change" listener="#{MainPage.<method_name>}"/>
</h:selectOneMenu>

这些不想工作 这是我的方法:

public void <method_name>(ValueChangeEvent e){
    ...
    System.out.println(">>>Changed<<<");
}

因此,没有任何反应,日志中没有任何错误 我正在使用NetBeans 7.3和jboss AS 7.1。

2 个答案:

答案 0 :(得分:0)

首先,尝试添加基本属性:

<h:selectOneMenu onchange="submit()" ... >

对于第二种方式,方法中参数事件的类应为:AjaxBehaviorEvent

另外,请确保您的控制器bean为@ViewScoped

答案 1 :(得分:0)

<h:message/>标记帮我处理了我的问题。问题在于类型和缺少自定义转换器。