我需要拦截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。
答案 0 :(得分:0)
首先,尝试添加基本属性:
<h:selectOneMenu onchange="submit()" ... >
对于第二种方式,方法中参数事件的类应为:AjaxBehaviorEvent
。
另外,请确保您的控制器bean为@ViewScoped
。
答案 1 :(得分:0)
<h:message/>
标记帮我处理了我的问题。问题在于类型和缺少自定义转换器。