单击h:selectOneMenu调用操作方法

use*_*256 15 jsf action selectonemenu

我有以下下拉列表:

<h:selectOneMenu value="#{user.favCoffee3}"  onclick="">
   <f:selectItems value="#{user.favCoffee3Value}" var="c"
   itemLabel="#{c.coffeeLabel}" itemValue="#{c.coffeeValue}" />
</h:selectOneMenu>
Run Code Online (Sandbox Code Playgroud)

我想通过下拉列表项单击从bean启动一些方法.我怎样才能实现它?

Kon*_*kov 21

您可以使用该valueChangeListener属性,指向managed-bean中的方法并submit()onchange属性中添加a .

表单应如下所示:

<h:form>
    <h:selectOneMenu valueChangeListener="#{bean.valueChanged}" 
                     onchange="submit()">
        <f:selectItem itemValue="1" itemLabel="First" />
        <f:selectItem itemValue="2" itemLabel="Second" />
    </h:selectOneMenu>
</h:form>
Run Code Online (Sandbox Code Playgroud)

valueChangeListener托管bean中的方法是:

public void valueChanged(ValueChangeEvent event) {
    //do your stuff
}
Run Code Online (Sandbox Code Playgroud)

  • http://stackoverflow.com/questions/11879138/when-to-use-valuechangelistener-or-fajax-listener/ (3认同)