JSP Expression Tag

Merhaba arkadaşlar, JSP yazılarına devam ediyoruz/devam etmeye çalışıyorum

Bugün Scripting element’lerden biri olan Expression Tag kullanımına ve detaylarına değinmeye çalışacağım.

Hatırlayacağınız üzere Scripting element 3 taneydi;

  1. Scriptlet tag
  2. Expression tag
  3. Declaration tag

Bir önceki yazımda Scriptlet tag’a değinmiştim. Scriptlet tagının bir java kodunu içerdiğini yani java statement’ın içerisine yazıldığını ve ; ile bittiğini belirtmiştim. Jsp scripting element’lerinin yazılış biçimi birbirine oldukça benzerdir. Expression tag konusuna giriş yapalım;

Expression Tag

<%= %> tag’ı içerisine yazılan herhangi birşeyi tarayıcıda çıktı olarak üretilir. Detaylandıralım; Expression tag, scriptlet tag’dan farklı olarak = ifadesini içermektedir. Expression tag içerisine yazılan herhangi birşey String’e çevrilir ve response objesi üzerinden client’e gönderilir. Expression tag içerisine yazılan herhangi birşey için toString() methodu çağrılacaktır. Scriptlet tag içerisinde out.println() ifadesini kısaltır ve kısa yoldan browserda çıktı oluşturur. Expression tag içerisine yazılan herşey Scriptlet tag’da olduğu gibi localdir!

Birkaç örnek yapalım;

Jsp kodumuzun çıktısı şu olacaktır;

Screenshot from 2015-06-12 21:59:36

Şimdi biraz detaya inelim ve her zaman bize yardımcı olan Contaıner’ın Expression tag’ı nasıl yorumladığına bakalım;

Contaıner <%= %> tagları içerisine eklenen herşeyi implicit olan PrintWriter out objesine parametre olarak gönderir. Expression tag içerisine yazılanlar parametre olarak out objesine gönderildiği için ; ile bitemez!

Bizim yazdığımız; <%= 4+5 %>

Contaıner yaptığı; out.print(4+5);

Not 0 ) Dediğim gibi asla Expression tag sonuna ; konulmaz. Koyduk varsayalım ;

Contaıner şu şekilde yorumlayacaktır; out.print(4+5 ;);

Yukarıdaki söz dizimi bir compiler error oluşturacaktır ve jsp sayfamız derlenmeyecektir. Expression tag sonuna ; konulmaz çünkü içerisindeki her ne ise bir parametredir!

Not 1 ) Expression tag içerisindeki ifade bir parametre olduğu için return tipi void olan bir method çağrımı yaparsanız eğer hata alacaksınızdır.

Bir başka örnek yapalım;

Login.jsp

ExpresTag2.jsp

Screenshot from 2015-06-12 22:24:57Screenshot from 2015-06-12 22:25:07

 

 

 

 

 

 

 

 

Expression tag ile ilgili hemen hemen yazacaklarım bu kadar arkadaslar

Yazımızın sonuna geldik, bir sonraki yazıda Declaration tag konusuna değinmeye çalışacağım ve böylelikle Scripting element konusunu bitirmiş olacağız.

Mutlu kalın, kod’la kalın ve bol bol Çay için

~ Alican Akkus

 

 

798 Total Views 1 Views Today