Kilka opcji selectOneMenu zależnych od siebie,aktualizowanych dynamicznie

0

Witam,
próbuję zrobić kilku stopniowego selecta na podstawie bazy danych wykorzystując do tego jsf.Prawdopodobnie nie obejdzie się również bez Ajaxa.Poniżej opisuję mój problem i prosiłbym o wskazówki.

Tabela z bazy dla przykładu niech ma postać:
KONTYNENT | PAŃSTWO | MIASTO | ULICA
Przyjmujemy że rekordy są już wprowadzone.
W ziarnie ( mainBean) łączę się z bazą danych i do 4 list wrzucam wszystkie wartości dla danej kolumny.Mam więc listy
kontynenty,panstwa,miasta i ulice.
Każda z tych list ma metodą get która ją zwraca.(getKontynent(), getPanstow() etc)
W pliku z widokiem umieszczam następujący kod:

 <h:body>
       
        <h:selectOneMenu value="#{mainBean.kontynenty}"  >
            <f:selectItems value="#{mainBean.kontynenty}" />
        </h:selectOneMenu>
        <h:selectOneMenu value="#{mainBean.panstwa}"  >
            <f:selectItems value="#{mainBean.panstwa}" />
        </h:selectOneMenu>
        <h:selectOneMenu value="#{mainBean.miasta}"  >
            <f:selectItems value="#{mainBean.miasta}" />
        </h:selectOneMenu>
        <h:selectOneMenu value="#{mainBean.ulice}"  >
            <f:selectItems value="#{mainBean.ulice}" />
        </h:selectOneMenu>
    </h:body>
 

Otrzymuję 4 Selecty , w każdym z nich do wyboru mam nazwy pobrane z bazy danych i umieszczone w Listach.
img.jpg

Moje pytanie brzmi , jak w najprostszy sposób sprawić aby wybranie w pierwszym selekcie KONTYNENTU, zaktualizowało 3 pozostałe selecty i zawęziło widoczne opcje .Tak więc np po wybraniu Europy odpadają wszystkie Panśtwa i ulice z innych kontynentów.
Zależy mi bardzo na tym aby odbyło się to bez przeładowywania strony.

Na logikę , każda zmiana powinna wywoływać funkcję aktualizującą pola w selectach, jednak nie wiem jak tego dokonać.
Spotkałem się z opcją onchage która wywoływana jest przy zmianie wartości jednego z selectów.Mógłbym podpiąć pod to funkcję z mainBean ale niestety nie wiem jak wówczas powinien wyglądać plik xhtml w którym generuję stronę.

Z góry dziękuję za cenne wskazówki.

0

Czy ty sobie robisz jaja? Poświęciłeś przynajmniej 2 minuty na poszukanie odpowiedzi? Przeciez wygooglanie tego zajęłoby ci mniej niż pisanie tego posta!
http://courses.coreservlets.com/Course-Materials/pdf/jsf/jsf2/JSF2-Ajax.pdf

1 użytkowników online, w tym zalogowanych: 0, gości: 1