8

私の要件はこのようなものです。いくつかの値を持つ selectMenu があります (例: 工学、医学、法律など)。ドロップダウンで Engineering を選択した場合、Engineering に関連する値を持つ別のドロップダウン メニューを動的に作成したいとします (例: Electronics、Computers、Electricals など)。JSF 2.0 でこれを達成するにはどうすればよいですか?

4

1 に答える 1

9

h:selectOneMenufirstの選択が変更されたときに ajax リクエストを実行する必要があります。このリクエストは、2 番目の で選択可能な項目を更新しh:selectOneMenuます。h:selectOneMenuajax リクエストの後、更新された値で2 番目を再度レンダリングする必要があります。

ページ:

<h:selectOneMenu value="#{bean.selectedSubject}">
    <f:ajax listener="#{bean.changeSubject}" render="speciality_selection" />
    <f:selectItems value="#{bean.subject}" />
</h:selectOneMenu>

<h:selectOneMenu id="speciality_selection" value="#{bean.selectedSpeciality}">
    <f:selectItems value="#{bean.subjectSpecialities}" />
</h:selectOneMenu>

マネージドBean:

public void changeSubject(){
    //Loads the specialities depending on the selected subject
    subjectSpecialities = loadSpecialitiesForSubject(selectedSubject);
}
于 2013-09-04T09:18:21.977 に答える