我试图通过使用p:ajax来获取h:selectOneMenu中的变化值。 但我总是得到空值,不知道下面是什么错误的代码。
<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的setter也打印为null
public void setGymsSelectType(String gymsSelectType) {
System.out.println("------------ >> "+gymsSelectType);
this.gymsSelectType = gymsSelectType;
}
答案 0 :(得分:4)
试试这个
<p:ajax process="@this" listener="#{userHomeController.selectMenuListener}" event="change" update=":home-form:panel" />
答案 1 :(得分:1)
试试这个
<p:ajax partialSubmit="true" listener="#{userHomeController.selectMenuListener}" event="change" update=":home-form:panel" />