JSF İl – İlçe Seçimi
JSF ile il ve ilçe seçimi gibi action yöntemleri arıyorsanız aşağıdaki örnek işinizi görebilir. Buna göre şehir seçimi sonrası ilçeler otomatik olarak yüklenecektir. JSF eventini burada valueChangeListener yakalayacaktır.
Ancak ben yinede PrimeFaces ve A4J ajax suppor ile yapmanızı tavsiye ederim.
JSF ön yüz
<h:selectOneMenu value="#{demoBean.sehir}" immediate="true" valueChangeListener="#{demoBean.valueChangeMetod}" onchange="submit();">
<f:selectItem itemValue="06" itemLabel="Ankara"/>
<f:selectItem itemValue="34" itemLabel="Istanbul"/>
<f:selectItem itemValue="35" itemLabel="Izmir"/>
</h:selectOneMenu>
<br />
<h:selectOneMenu value="#{demoBean.ilce}">
<f:selectItems value="#{demoBean.ilceler}"/>
</h:selectOneMenu>
ManagedBean dosyası
import java.util.ArrayList;
import java.util.List;
import javax.faces.event.ActionEvent;
import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;
public class DemoBeanDort {
private String sehir;
private String ilce;
private List<SelectItem> ilceler = new ArrayList<SelectItem>();
public void valueChangeMetod(ValueChangeEvent event){
System.out.println("valueChangeMetod calisti");
ilceler.clear();
if(event.getNewValue().equals("06")){
ilceler.add(new SelectItem("Cankaya"));
ilceler.add(new SelectItem("Kizilay"));
}
else if(event.getNewValue().equals("34")){
ilceler.add(new SelectItem("Besiktas"));
ilceler.add(new SelectItem("Kadikoy"));
}
else if(event.getNewValue().equals("35")){
ilceler.add(new SelectItem("Karsiyaka"));
ilceler.add(new SelectItem("Bornova"));
}
}
//getter ve setter metodları
}
PrimeFaces ornegi;
http://www.primefaces.org:8080/prime-showcase/ui/pprSelect.jsf
+1 adamim :)
Slm;
hocam bugünlerde try catch blogunda bulunan entity manager olustururken
No Persistence provider for EntityManager named Oys
şeklinde hata alıyorum.Bide persistence.xml de vermiş oldugum provider yolunda(org.hibernate.ejb.HibernateManager) sadece orm.xml diye bir dosya var.Hatanın sebebini bir türlü çözemedim.Daha önce çalışan bir proje şimdi çalışmıyor.Bu arada proje jsf 2.0 ve primefaces kullanarak yapmaya çalısıyorum.Kolay gelsin.
Sorun jpa ile ilgili. Oys adinda bir persistence unit bulamiyor.
merhaba hocam,
selectOneMenu de valueChangeListener kullanarak change eventinde işlemlerimi yaptırıyorum fakat sayfa refresh oluyor. queryString de veya sessiondaki bilgiler uçuyor. ajax update kullanarak yaptığımda change den önceki değer geliyor birde bu degere bağlı bir bileşeni render ediyorum. o bileşende render edildikten sonra selectonemenuden gelen değere göre reRender olması gerekiyor. (sayfa ilk yuklendiğinde gelen değere göre render oluyor change eventinde reRender olmuyor).
richFaces kullanmadım. sadece primefaces ve faces ın ajax ını kullandım. onlarda reRender gibi birşey göremedim.
bu konuyla ilgili yorum yapabilirmisiniz.
İyi Çalışmalar
Saygılarımla…
valueChangeListener yerine ajax uzerinden update edilen veriyi okuyabilirseniz daha iyi olur.