Bu örnekte il seçildiği zaman, o ile ait olan ilçeler yüklenmektedir. Form bölümü aşağıdaki gibidir :
<h:selectOneMenu value="#{testBean.il}">
<f:selectItems value="#{testBean.iller}"></f:selectItems>
<f:ajax event="change" render="ilce" ></f:ajax>
</h:selectOneMenu>
<h:selectOneMenu id="ilce" value="#{testBean.ilce}">
<f:selectItems value="#{testBean.ilceler}"></f:selectItems>
</h:selectOneMenu>
Yukarıda görüldüğü gibi illerin listesi ve altında da ilçelerin listesini gösteren selectOneMenu bileşeni blunmaktadır. TestBean de gerekli bölüm aşağıdaki gibidir :
private String il;
private String ilce;
public List<SelectItem> getIller(){
List<SelectItem> a=new ArrayList<SelectItem>();
a.add(new SelectItem("0","Seçiniz"));
a.add(new SelectItem("34","İstanbul"));
a.add(new SelectItem("6","Ankara"));
return a;
}
public List<SelectItem> getIlceler(){
List<SelectItem> a=new ArrayList<SelectItem>();
if(il==null){
return null;
}
if(il.equals("34")){
a.add(new SelectItem("1","Fatih"));
a.add(new SelectItem("2","Beşiktaş"));
a.add(new SelectItem("3","Kadıköy"));
return a;
}else if(il.equals("6")){
a.add(new SelectItem("1","Çankaya"));
a.add(new SelectItem("2","Yenimahalle"));
return a;
}
return null;
}
İl listesinde bulundan f:ajax bileşeni, il seçimi yapıldığında çalışır ve ilce listesinin render edilmesini (yenilenmesini) sağlar. İlce listesi de seçilen ile göre yenilendiği için her il seçiminde ilçe değerleri tekrar yüklenmektedir