Bu makalemizde “Managed Beans” konusunu ele alacağız. 

 Managed bean en temel tabiri ile Java SE dilinde öğrendiğimiz ve kullandığımız “sınıf” yapılarıdır. Managed bean yapılarını normal sınıf yapılarından ayıran özellik xhtml sayfalarına bağlanabilme özelliklerinin olmasıdır. Bunun dışında Java SE‘de öğrendiğiniz tüm kodlamaları bu sınıf yapılarına da uygulayabiliriz.

Managed bean yapıları xhtml sayfalarından alınan bilgilerin arka planda işlenip değerlendirilip bir sonuç üretilip tekrar xhtml sayfalarına gönderilmeleri için kullanılır. Örneğin bir form oluşturdunuz. Doldurttunuz ama bilgileri veri tabanına göndermeniz lazım. Burada işlemi managed bean sınıfları halletmektedir.

Managed bean sınıflarını xhtml sayfalarına bağlamak için Expression Language” denilen özel bir yapı kullanılır ve burada kullanacağımız işaret #” işaretidir.

Şimdi NetBeans’ımızda JSFDersleri3  adında bir proje oluşturalım. Projemizi oluşturduktan sonra projemize sağ tıklıyoruz. New yazan yere geliyoruz. Sağında yeni bir pencere açılacak. En altta bulunan Other bölümüne tıklıyoruz. Açılan pencerede sol kısımdan “Java Server Faces” sağ kısımdan “JSF Managed Bean” seçiyoruz. Next diyoruz.

Karşımıza isim vermemizi isteyen bir ekran geliyor.Sınıf ismi olarak ManagedBeanClass veriyoruz. Yine burda yapması size kalmış olmakla beraber package tanımlaması da yapabiliriz. Managed Bean sınıfının hangi package içinde olduğunu tanımlıyoruz.

Finish diyoruz ve projemize managed bean eklemiş oluyoruz. Karşımıza bir Java class yapısı gelmiş oluyor.

xhtml ve bean yapımızı oluşturduk. Şimdi küçük bir örnek yapalım ve bu makalemizi burada bitirelim. Örneğimizde kullanıcıdan isim ve soyisim almasını isteyecek isim ve soyismini girdirecek ve aynı sayfada isim ve soyismini yazdıracağız. Bir önceki makalemizde yer alan Form Bileşenleri konusunu bilmeniz gerekmekte.

index.xhtml

<?xml version='1.0' encoding='UTF-8' ?>
<!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:h="http://xmlns.jcp.org/jsf/html">
    <h:head>
        <title>JSF Hello World Örneği</title>
    </h:head>
    <h:body>
        <h:form>
            <h:panelGrid columns="2">
                <h:outputText value="Adınızı Giriniz:"/>
                <h:inputText value="#{managedBeanClass.name}"/>
                
                <h:outputText value="Soyadınızı Giriniz:"/>
                <h:inputText value="#{managedBeanClass.surname}"/>
                
                <h:commandButton value="GÖNDER"/>
                
            </h:panelGrid>
            
            <h:outputText value="Adınız Ve SoyAdınız:#{managedBeanClass.name} #{managedBeanClass.surname}"/>
        </h:form>
    </h:body>
</html>

ManagedBeanClass.java

package com.jsfDersleri;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

@ManagedBean
@RequestScoped
public class ManagedBeanClass {
    String name;
    String surname;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSurname() {
        return surname;
    }

    public void setSurname(String surname) {
        this.surname = surname;
    }
}

Kodların Açıklaması

Kodlar için bazı temel noktalar var. Bunları iyi kavramamız gerekiyor.

index.xhtml sayfası içerisinde inputText’lerin value kısımlarını #{managedBeanClass.name} ve #{managedBeanClass.surname} şeklinde verdik. Burada # işareti managed bean yapısına bağlanmamızı sağladı. managedBeanClass ifadesi ise managed bean yapımızın adı.İstersek bu ad yerine başka bir ad da tanımlayabiliriz. Bunun için sınıf yapısı içerisinde bulunan @ManagedBean ifadesini @ManagedBean(name=”vermek_istediğiniz_isim”) değiştirmeniz yeterlidir. Managed bean yapısının isminden sonra o sınıftaki değişkenlere ulaşmak için “.” koyuyoruz. “.” işreti koyunca NetBeans bize o sınıfın değişkenleri gösteriyor zaten.

Sınıf yapımızda ise 2 değişken oluşturduk ve bunlara ait get ve set metodlarını oluşturduk. Az değişken olduğunda sorun değil ama daha çok değişken olduğunda get ve set metodlarını el ile yazmak çok vakit kaybettirir. Bunun için NetBeans bir kolaylık sağlıyor. Sınıf içerisinde sağ tıklıyoruz, “Insert Code” diyoruz, yeni açılan pencerede Getter and Setter yazısına tıklıyoruz. Şimdiki yeni çıkan pencerede değişkenlerimize tik koyup “Generate” diyoruz. Get ve set metodlarımız hazır halde 🙂 .

Managed Bean oluşturunca üstte bulunan 4 satırlık kod NetBeans tarafından hazır olarak bize veriliyor.

Bir de ekran çıktımıza bakalım. Adınızı ve Soyadınızı yazıp GÖNDER butonuna tıkladığınızda adınızı ve soyadınızı yazacaktır.

Bu makalemizde Managed Beans konusunu ele aldık. Bir sonraki makalemizde Navigation Rules-Yönlendirme Kuralları konusunu ele alacağız.

Görüşene kadar sağlıcakla kalın.

Selam ve Sevgilerimle

JSF Video Dersleri 2-Form Bileşenleri Ve Managed Beans