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