1

p:ajaxを使用してh:selectOneMenuを変更したときに値を取得しようとしています。しかし、私は常にnull値を取得しています。以下のコードが何が間違っているのか、わかりません。

<h:form>
<h:selectOneMenu id="selectMenu" value="#{userHomeController.gymsSelectType}">

<f:selectItem itemLabel="Close to me" itemValue="closest" />
<f:selectItem itemLabel="Visited by me" itemValue="visited" />
<p:ajax process="selectMenu" listener="#{userHomeController.selectMenuListener}" event="change" update=":home-form:panel"  />

</h:selectOneMenu>
</h:form>

Beanクラスは

 public void selectMenuListener() {
    System.out.println("-------- >> " + gymsSelectType); // here null coming
    if (gymsSelectType.equals("a")) {
        //
    } else {
       //
    }
}

これはviewscopedクラスです。変数gymsSelectTypeのセッターの下もnullを出力します

public void setGymsSelectType(String gymsSelectType) {
     System.out.println("------------ >> "+gymsSelectType);
    this.gymsSelectType = gymsSelectType;
}
4

2 に答える 2

5

これを試してみてください

<p:ajax process="@this" listener="#{userHomeController.selectMenuListener}" event="change" update=":home-form:panel"  />
于 2013-04-10T02:04:57.780 に答える
2

これを試して

<p:ajax partialSubmit="true" listener="#{userHomeController.selectMenuListener}" event="change" update=":home-form:panel" />

于 2013-06-12T15:58:12.503 に答える