Örnek

JSF 2.0 ve f:ajax İle İl İlçe ve Mahalle İle Üç Tane Açılır Liste Örneği

Aşağıdaki örnekte il , ilçe ve mahalle bilgilerini açılır listeye yükleyen örnek görülmektedir. İl seçince ilçeler, ilçeler seçince de iller dolmaktadır :

<h:form>  
	<h:selectOneMenu value="#{testBean.il}"> 
		<f:selectItems value="#{testBean.iller}"></f:selectItems> 
		<f:ajax event="change" render="ilce mahalle" listener="#{testBean.sehirChanged}"></f:ajax>
	</h:selectOneMenu> 
	  
	<h:selectOneMenu id="ilce" value="#{testBean.ilce}"> 
		<f:selectItems value="#{testBean.ilceler}"></f:selectItems> 
		<f:ajax event="change" render="mahalle" listener="#{testBean.sehirIlceChanged}"></f:ajax>
	</h:selectOneMenu> 
	  
	<h:selectOneMenu id="mahalle" value="#{testBean.mahalle}"> 
		<f:selectItems value="#{testBean.mahalleler}"></f:selectItems> 
	</h:selectOneMenu> 
</h:form> 

Yukarıda görüldüğü gibi illerin listesi ve altında da ilçelerin ve mahallelerin listesini gösteren selectOneMenu bileşeni blunmaktadır. TestBean de gerekli bölüm aşağıdaki gibidir :

@ManagedBean 
@SessionScoped 
public class TestBean { 
	private String il; 
	private String ilce; 
	private String mahalle; 
 
	public List<SelectItem> getIller(){ 

		List<SelectItem> iller=new ArrayList<SelectItem>(); 
		iller.add(new SelectItem("0","Seçiniz")); 
		iller.add(new SelectItem("34","İstanbul")); 
		iller.add(new SelectItem("6","Ankara")); 
		return iller; 
	}  
	public List<SelectItem> getIlceler(){ 
		if(il==null){ 
			return null; 
		} 
		List ilceler=new ArrayList<SelectItem>(); 
		ilceler.add(new SelectItem("0","Seçiniz")); 
		if(il.equals("34")){			 
			ilceler.add(new SelectItem("1","Fatih")); 
			ilceler.add(new SelectItem("2","Beşiktaş")); 
			ilceler.add(new SelectItem("3","Kadıköy")); 
			return ilceler; 
		}else if(il.equals("6")){ 
			ilceler.add(new SelectItem("1","Çankaya")); 
			ilceler.add(new SelectItem("2","Yenimahalle")); 
			return ilceler; 
		} 
		return null; 
	}	 
	public List<SelectItem> getMahalleler(){ 
		if(ilce==null){ 
			return null; 
		} 
                List mahalleler=new ArrayList();
		if(mahalleler==null){ 
			List<SelectItem> a=new ArrayList<SelectItem>(); 
			ilceler.add(new SelectItem("0","Seçiniz")); 
			for(int i=0;i<10;i++){ 
				a.add(new SelectItem(i,il+"-"+ilce+"-Mahalle-"+i)); 
			} 
			return a; 
		}else{ 
			return mahalleler; 
		} 
	} 
	public void sehirChanged(AjaxBehaviorEvent event){
		ilce=null;
		mahalle=null;
	}
	public void sehirIlceChanged(AjaxBehaviorEvent event){
		mahalle=null;
	}
} 

İl listesinde bulundan f:ajax bileşeni, il seçimi yapıldığında çalışır ve ilce ve mahalle listesinin render edilmesini (yenilenmesini) sağlar. İlçe seçildiğinde de mahalle listesi yenilenir

zafer.teker , 27.09.2014

Bu Sayfayı Paylaş:

Fibiler Üyelerinin Yorumları


Tüm üyeler içeriklere yorum ekleyerek katkıda bulunabilir : Yorum Gir



Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir