JSF Ders-6 JSF Sayfa Yönlendirme
Merhaba arkadaşlar bu yazımda JSF derslerine kaldığımız yerden devam edeceğiz. Bu yazımda konu olarak jsf’de sayfa yönlendirme işlemlerinden bahsetmek istiyorum. Öncelikli olarak şunu belirtmek isterim ki 2 türlü sayfa yönlendirme yapabiliriz.
1-)Action Attribute Sayfanın Adını Yazma
2-)Method İle Yönlendirme
Bu konuyu küçük bir örnek ile açıklamak istiyorum. Mesela iki adet sayı girilen inputtextler olsun ve bu sayıların toplamı sonucu 100 ise yuz.xhtml sayfasına yönlendiren, eğer sayıların toplamı yüzden küçük ise kucuk.xhtml sayfasına yönlendiren yada sayıların toplamı yüzden büyük ise buyuk.xhtml sayfasına yönlendiren bir proje yapalım.
Öncelikli olarak direk olarak action attribute değer vererek yönlendirme yapalım ve o sayfaya gidelim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"> <h:head></h:head> <body> <h:form> <h:commandButton action="sayfa2" value="Sayfa2 Git" /> </h:form> </body> </html> |
Görüldüğü üzere sayfa2 ‘ nin görüntüsü. Fark ettiyseniz sayfa2’ye yönlendirildiğimiz halde adres çubuğunda hala index.xhtml sayfası yazılı.Bunun önüne geçmek için çok basit bir kod eklememiz gerekmektedir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"> <h:head></h:head> <body> <h:form> <h:commandButton action="sayfa2?faces-redirect=true" value="Sayfa2 Git" /> </h:form> </body> </html> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"> <h:head></h:head> <body> <h1>Burası Sayfa 2</h1> </body> </html> |
Ve sonuç gördüğünüz gibi adres çubuğu da değişmiş oldu.Şimdi gelelim method kullanarak sayfa yönlendirmeye.
2-)Method Kullanarak Sayfa Yönlendirme
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"> <h:head></h:head> <body> <h:form> <h:inputText value="#{deneme.sayi1}" /> <br></br> <h:inputText value="#{deneme.sayi2}" /> <h:commandButton action="#{deneme.yonlendir()}" value="Topla" /> </h:form> </body> </html> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"> <h:head></h:head> <body> <h1>Toplam 100</h1> </body> </html> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"> <h:head></h:head> <body> <h1>Toplam 100'den Küçük</h1> </body> </html> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"> <h:head></h:head> <body> <h1>Toplam 100'den Büyük</h1> </body> </html> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; @ManagedBean @SessionScoped public class Deneme { private int sayi1; private int sayi2; public String yonlendir() { if((sayi1+sayi2)==100) return "yuz?faces-redirect=true"; else if((sayi1+sayi2)<100) return "kucuk?faces-redirect=true"; else return "buyuk?faces-redirect=true"; } public int getSayi1() { return sayi1; } public void setSayi1(int sayi1) { this.sayi1 = sayi1; } public int getSayi2() { return sayi2; } public void setSayi2(int sayi2) { this.sayi2 = sayi2; } } |
Bu yazımızın da sonuna geldiniz. Bir dahaki yazılarımızda görüşmek üzere sağlıcakla kalınız…