0

2 つの selectOneMenu を使用しています。最初のものを選択すると、選択した値をパラメーターとして提供することにより、2 番目のものを設定する必要があります。私は多くのオンラインのことを経験しましたが、それでも解決する方法が見つかりません。ドロップダウン値の変更時にリスナー メソッドが呼び出されます。誰か私を助けてください。(コメント行を有効にした場合にのみ機能します)

<p:selectOneMenu value="#{myBean.mGroup}" id="mGroup" style="width:130px;" >
     <f:selectItem itemLabel="Environment" itemValue="E"></f:selectItem>
    <f:selectItem itemLabel="Health" itemValue="H"></f:selectItem>
    <f:selectItem itemLabel="Physical" itemValue="P"></f:selectItem>
    <p:ajax render="@form" listener="#{myBean.mGroupChangedListener}" />
</p:selectOneMenu> 

<p:selectOneMenu id="mClass" style="width: 130px;" value="#{myBean.mClass}">
    <!--  <f:selectItem itemLabel="Temp1" itemValue="Temp1" />      if i remove comment from this line, it works         -->
    <f:selectItems value="#{myBean.mClassList}" var="clas" itemLabel="#{clas.mClassDesc}" itemValue="#{clas.mClassId}" />
</p:selectOneMenu>

// listener method
public void mGroupChangedListener(AjaxBehaviorEvent event) {
    List<MClass>  mClassList = service.getMClass(event.getComponent().getAttributes().get("value").toString());
    myBean.setMClassList(mClassList);
}
4

2 に答える 2