JSF

JSF Dersleri-JSF’De Metot İle Sayfa Yönlendirme

Merhaba. Bu makalemizde JSF’de Yönlendirme Kuralları” konusunu irdeleyeceğiz.

Ne için kullanılır?

Normalde bir butona action verdiğimizde bizi istediğimiz sayfaya götürüyordu. Ancak dikkat ettiyseniz tarayıcı kısmında yönlendirdiğiniz sayfa değil eski sayfa sayfa adresi kalıyordu. Bu sorunu çözmek için biz basit bir ifadeyi kullanabiliriz. Bunun yanında sayfa yönlendirmeleri koşula bağlı olabilir. Bir alışveriş sitesi yaptınız diyelim ki. Kullanıcıya puan imkanı sundunuz. Kullanıcı alışveriş yaptı ve Puanlarımı Kullanmak İstiyorum” ismindeki butona tıkladı. Sizin burada kullanıcının yeterli puanı olup olmadığını kontrol ettirmeniz ve sonrasında gerekli işlemleri yapmanız gerekir. Yeterli puanı varsa kullanabileceği sayfaya yoksa kullanamayacağına dair uygun sayfaya yönlendirirsiniz. İşte bu durumlarda imdadımıza  metot ile sayfa yönlendirme yetişiyor.

Tarayıcıda eski sayfanın adresinin kalması sorunun çözümü:

Şimdi tarayıcıda eski sayfanın adresinin kalması sorununu çözelim. Çözümü çok basittir. Butona action veriyorsunuz ve yenisayfa.xhtml adında bir sayfaya göndermek istiyorsunuz. Bunu yaparken action=”yenisayfa.xhtml?faces-redirect=true” derseniz sorununuz çözülmüş olur.

Örnek uygulama:

Şimdi bir örnek uygulama yapalım konuyu anlayabilmemiz için ve kodları açıklayalım. Kullanıcıdan bir sayı alacağız ve girdiği sayıya göre onu yeni bir sayfaya yönlendireceğiz. Eğer girdiği sayı 50’den büyük olursa 50’den büyük sayı girdiniz, küçük olursa 50’den küçük sayı girdiniz şeklinde yazılar olan sayfalara göndereceğiz.

Projemize sağ tıklıyoruz. New üstüne geliyoruz. En alttan Other bölümüne tıklıyoruz. Yeni gelen pencerede sağdan “Java Server Faces” soldan JSF Page” seçiyoruz. Next diyoruz. Şimdi sayfanın adını soran ekran geliyor. kucuk adında  sayfa ekleyeceğiz. Daha sonra aynı yolla bir de buyuk adında bir sayfa ekliyoruz.

Projemize bir de “managedbean” adında bir managed bean ekliyoruz.

İndex.xhtml kodu:

 

Kodun açıklaması:

Kodumuzda önceki makalelerde anlatılmayan bir nokta var o da action. Butonların action kısmına managed bean içinde tanımlanmış metodlar da verilebilir. Hatta ileri düzey kod yazarken daha çok bunu kullanabiliriz yaptığımız projeye göre. Action kısmına verdiğimiz metod bir string döndürüyor ve bu stringe göre action hangi sayfaya gideceğine karar veriyor.

kucuk.xhtml kodu:

 

 buyuk.xhtml kodu:

 

Kodların açıklaması:

Bu kodlar önceki makalelerde anlatılan kısımları içeriyor.Ekstra anlatıcak bir şey barındırmıyor.

ManagedBean.java kodu:

Kodun açıklaması:

Burada index.xhtml sayfasından alınan sayı int sayi değişkenine atanıyor. Bu kodda çalışan kısım set (değişkene yaz) metodudur. Get (değişkeni al) metodu sayının değerini almak isteseydik işimize yarayacaktı. Burada kullanmasak da olurdu. Karsilastir metodu da girilen sayının 50 ‘den büyük mü küçük mü olduğuna karar veriyor ve ona göre uygun bir string döndürüyor.

image005

Adres çubuğuna dikkat edin.Gidilen sayfanın adı var. "" koymazsanız faces-config.xml içine bunun yerine index.xhtml yazısı gözükür.

Adres çubuğuna dikkat edin.Gidilen sayfanın adı var.

image009

Adres çubuğuna dikkat edin.Gidilen sayfanın adı var."" koymazsanız faces-config.xml içine bunun yerine index.xhtml yazısı gözükür.

Adres çubuğuna dikkat edin.Gidilen sayfanın adı var.

 Bu yazıda da bu kadar arkadaşlar. Basitçe metotla sayfa yönlendirmenin nasıl yapıldığını görmüş olduk. Bu dersin video halini de aşağıya ekledim. Gelecek yazıda görüşmek üzere sağlıcakla kalın.

https://www.youtube.com/watch?v=ugtc8aXNXmw