Java Bean sınıflarının ne olduğunu “Java Bean Nedir?” adlı makalemde incelemiştik. Bu yazımda ise JSP sayfalarından Java Bean sınıflarına action etiketleri ile nasıl erişildiğinden bahsedeceğim.
[box type=”info”] NOT : JSP sayfalarında kullanılan tüm deyimler için “JSP Sayfalarında Kullanılan Deyimler” başlıklı yazımı inceleyebilirisiniz. [/box]
JSP sayfalarında Java Bean sınıfları ile ilgili işlemler yapabilmek için kullanılan 3 tane etiket vardır. Bunlar ;
- <jsp:useBean>
- <jsp:setProperty>
- <jsp:getProperty>
etiketleridir. Sırasıyla ne işe yaradıklarını ve hangi özellikleri olduğundan bahsedelim.
1) <jsp:useBean>
Bu etiket JSP sayfasında bir JavaBean sınıfı tanımlamak ve instance’ını yaratmak için kullanılır. Yazımı aşağıdaki gibidir.
[codesyntax lang=”xml” lines=”no”]
<jsp:useBean id="nesne-ismi" scope="page | request | session | application" type="nesne-tipi" beanName="bean-ismi" />
[/codesyntax]
- id : Sayfa içerisinde instance’ı yaratılan nesneye ulaşacağımız isimdir. Nasıl ki ;
Personel personel = new Pesonel(); dediğimizde küçük harfle yazılan referans tipindeki değişken Personel nesnesini gösteriyorsa bu etiketteki id de aynı işi yapar.
- scope : Yaratılan nesnenin hangi geçerlilik bölgesinde saklanacağının belirtildiği özelliktir. Varsayılan olarak page scope kullanılır. Yani sayfa her yüklendiğinde yeni bir bean instance’ı yaratılır.
- type : Nesnenin tipinin belirtildiği özelliktir. Değer olarak kendi tipi veya türediği herhangi bir tip verilebilir. Örneğin yaratılan nesne Honda nesnesi ise type özelliği Honda veya türediği Araba tipinde olabilir. Çok biçimlilik ilkesine dayanarak gerçekleştirdiği arabirimler varsa o interface’ler de olabilir.
Zorunlu bir özellik değildir. Kullanılmasa da olur.
- class : Yaratılan nesnenin tipinin sınıf adıdır. Mesela ,
Date tarih = new java.util.Date(); şeklindeki bir nesne için class : java.util.Date olacaktır.
- beanName : Aynı class özelliği gibi beanName özelliği de instance’ı yaratılan nesnenin isminin belirtildiği özelliktir. Aralarındaki fark ise beanName özelliğinin istek anında belirtilebilir olmasıdır.
2) <jsp:setProperty>
Bu etiket sayesinde instance’ı yaratılan bean sınıfının içerisindeki bir değişkenin ya da değişkenlerin değerlerinin tamamının setlenmesi sağlanır. Yazımı aşağıdaki gibidir.
[codesyntax lang=”xml” lines=”no”]
<jsp:setProperty name="nesne-ismi" property="degisken-ismi" param="setlenecek-parametre-ismi" value="setlenecek-degisken-degeri" />
[/codesyntax]
- name : <useBean> etiketinde verdiğimiz id özelliğinin ismidir. Bu sayede sayfa içerisindeki hangi bean nesnesinin özellikleri set edilecek anlaşılmış olur.
- property : Değeri setlenecek olan özelliğin ismidir. Bean sınıfındaki değişkenlere karşılık gelir.
- param : Değeri setlenecek olan özelliğin istek parametresinin ismidir. Örneğin Servlet sınıflarında kullandığımız request.getParameter(“isim”) metodunda kullanılan “isim” değeri gibi.
- value : Setlenecek değeri ifade eder.
3) <jsp:getProperty>
Bean sınıfındaki değişken değerlerine ulaşmak için kullanılan etikettir. Yazımı aşağıdaki şekildedir :
[codesyntax lang="xml" lines="no"]
<jsp:getProperty name="nesne-ismi" property="degisken-ismi" />
[/codesyntax]
- name : Aynı <jsp:setProperty> etiketinde olduğu gibi nesnenin id’sine verilen değerdir.
- property : Değeri okunacak değişkenin ismidir.