Добавление динамических раскрывающихся компонентов в JSF
мое требование таково. У меня есть выбор с некоторыми ценностями (примеры: инженерия, медицина, право и т. д..,) . Предположим, если я выберу Engineering в раскрывающемся списке, я хочу, чтобы другое раскрывающееся меню создавалось динамически, которое имеет значения, связанные с Engineering (например: электроника, компьютеры, электрика и т. д..,). Как достичь этого в JSF 2.0 ?
1 ответов
вам нужно выполнить запрос ajax, когда первый h:selectOneMenu
изменить выбор. Этот запрос обновит выбираемые элементы во втором h:selectOneMenu
. После запроса ajax вы должны отобразить второй h:selectOneMenu
снова, с обновленными значениями.
страницы:
<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);
}