JSF

JSF Dersleri-Action Event Handling-Metot ve Interface İle

Merhaba arkadaşlar. Son yazımda Yazılım Mühendisliği dersi için yaptığımız ve bir kaç Java teknolojisini kullandığımız projeyi sizlere anlatmıştım.  Önceki 2 yazıda da metot ve interface ile değer değişimi yakalamayı öğrenmiştik. Bu yazıda ise metot ve interface ile tetiklenme (action) olay yakalamayı öğreneceğiz.

Dersimize başlamadan önce söylemek istediğim bir şey var. JSF Video derslerine de bir süre önce başladım ve şu anda 3 video dersi oldu.   Videoları izleyip görüş bildirirseniz videoların kalitesi adına çok iyi olur arkadaşlar. Videolara https://www.youtube.com/channel/UCn-fQIT3kPNIqEVdAjvUGdw/videos linkinden ulaşabilirsiniz.

Örnek uygulamamızda index sayfamız içinde hem metot ile kullanıma hem de interface ile kullanıma örnek mevcut arkadaşlar.

index.xhtml Kodu

index.xhtml kodumuz içinde metot ile kullanım kısmına bakalım. Tanımlamış olduğumuz bir metodu direk kullanmak istediğimizde butonun actionListener özelliğine yazmış olduğumuz metodu atıyoruz arkadaşlar.

Interface ile kullanım kısmında ise Java sınıfımız içinde ActionListener arabirimini uyguladığımız sınıfı f:actionListener etiketinin type özelliğine atamamız yeterli. Buton gidip o sınıftaki processAction metodunu arayıp işlemi gerçekleştirecek.

ActionEventBean.java Kodu

ActionEventBean Java sınıfımız içinde bir actionListener metodu tanımladık ve ActionEvent tipinde bir parametre almasını sağladık. Xhtml kodumuz içinde bir metodu actionListener olarak kullanabilmemiz için ActionEvent tipinde bir parametre alması gerekmektedir.

Butona tıklandığında event nesnesi ile tıklanan butonun id bilgisini çekip konsola yazdırıyoruz. Burada getClientId metodu sizin atadığınız id bilgisini ve JSF tarafından atanan id bilgisini birleştirir. Eğer sadece sizin istediğiniz id bilgisini getirmek isterseniz getId metodu yeterli olacaktır. Ne demek istediğimi ekran çıktılarında daha iyi anlayacaksınız.

ActionEventClass.java Kodu

ActionEventClass sınıfımıza öncelikle ActionListener arabirimini (interface) uyguluyoruz. Akabinde bu arabirimin içinde yer alan processAction metodunu Override ediyoruz ve ne yapmak istediğimizi bildiriyoruz. ActionEventBean sınıfımıza benzer şekilde burada da butonun id bilgisini alıp konsola yazdırıyoruz.

Ekran Çıktıları

Metot İle Kullanım Kısmındaki Butona Tıklıyorum

Metot İle Kullanım Kısmındaki Butona Tıklıyorum

Gördüğünüz gibi butona benim verdiğim id bilgisi ve JSF'nin kendi eklediği id bilgisi ile konsola basıldı.

Gördüğünüz gibi butona benim verdiğim id bilgisi ve JSF’nin kendi eklediği id bilgisi ile konsola basıldı.

Şimdi Interface İle Kullanım kısmındaki butona tıklıyorum.

İkinci butonun id bilgisi de düzgün bir şekilde alınıp konsola yazıldı.

İkinci butonun id bilgisi de düzgün bir şekilde alınıp konsola yazıldı.

Bu yazıda da bu kadar arkadaşlar. Gelecek yazıda Application Events konusunu işleyeceğiz. Sağlıcakla kalın.