JSP

JSP – Action Tags – 5

Merhaba, bir önceki yazımda JSP Directive Tags(Emir Etiketleri)‘i görmüştük. Bu yazıda ise JSP Action Tags‘i ele alacağız. JSP action etiketleri yönlendirme, dahil etme, java beanleri kullanma gibi işlemlerde kullanılır.

Başlıca JSP Action Etiketleri

  • <jsp:include>
  • <jsp:forward>
  • <jsp:param>
  • <jsp:useBean>
  • <jsp:getProperty>
  • <jsp:setProperty>

<jsp:include> Etiketi

Bir JSP sayfası içerisinde başka bir JSP sayfasını çağırmamızı sağlar. Bu sayede kodlarımızı farklı JSP sayfalarına yazarak bölebilir, bir sayfa içerisinde hepsini çağırıp kullanabiliriz.

<%@ include … %> etiketi ile aynı işlevi görür fakat <jsp:include> etiketi ile dahil etme işlemi request(istek) geldiğinde gerçekleşir, <%@ include … %> etiketi ile dahil etme işlemi ise JSP sayfaları Servlet‘e çevrilirken gerçekleşir.(bkz: JSP Lifecycle)

Kullanım:

<jsp:include page="Dahil edilecek sayfa adresi"/>

Örnek Uygulama

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

	<jsp:include page="sayfa.jsp"/>

</body>
</html>

sayfa.jsp’yi dahil ettik.

sayfa.jsp

<%@ page import="java.util.Date, java.text.DateFormat" %>

<% 
  	String tarih = DateFormat.getDateInstance(DateFormat.LONG).format(new Date());
	out.println("Tarih :" + tarih);
%>

 Ekran Görüntüleri

3

<jsp:forward> Etiketi

JSP sayfasına yapılan bir isteği başka bir sayfaya yönlendirmek için kullanılır. Bu etiketin bir özelliği de yönlendirme yapıldığında adresin değişmemesidir. Örnek uygulamada bunu görebilirsiniz.

Kullanım:

<jsp:forward page="Gidilecek sayfanın adresi"/>

<jsp:forward> Örnek Uygulama

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

	<jsp:forward page="sayfa.jsp"/>

</body>
</html>

sayfa.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
   <p>
	index.jsp'den buraya geldik ama adres hala aynı :)
   </p>
</body>
</html>

Ekran Görüntüleri

4

<jsp:param> Etiketi

Bu etiket ile diğer JSP etiketlerine(<jsp:include>,<jsp:forward> vs.) parametre gönderilebilir. Bu şekilde yönlendirilen ya da dahil edilen JSP sayfaları bu parametrelere ulaşabilir.

Kullanım:

<jsp:param name="Parametrenin adı" value="Parametrenin değeri" />

<jsp:param> Örnek Uygulama

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

	<jsp:forward page="sayfa.jsp">
		<jsp:param value="Merhaba Dunya!" name="parametre"/>
	</jsp:forward>

</body>
</html>

sayfa.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<p>
		<%=request.getParameter("parametre") %>
	</p>
</body>
</html>

Ekran Görüntüleri

5

<jsp:useBean> Etiketi

JSP sayfalarında Java Bean‘leri çağırmak için kullanılır. Java Beans konusunu daha sonra detaylı olarak göreceğiz. Şimdi sadece basit bir örnek verelim.

Kullanım:

<jsp:useBean id="Beani temsil edecek herhangi bir isim"  class="paketAdi.classAdi" />

Yukarıdaki kod ile kullanacağımız Java Class‘ından bir nesne oluşturmuş olduk. <jsp:setProperty> ve <jsp:getProperty> etiketlerini kullanarak bu nesne üzerinden değer atama(Set) ve değer çekme(Get) işlemleri yapabileceğiz.

 <jsp:setProperty> Etiketi

Bu etiket kullanılmadan önce jsp:useBean etiketi tanımlanmış olmalıdır. jsp:useBean etiketi ile belirtilen bean‘in değişkenlerine değer ataması yapar. Adından da anlaşılacaği gibi set metodunun işlevini yapar.

Kullanım:

<jsp: useBean id="Beani temsil edecek herhangi bir isim"  class="paketAdi.sinifAdi" />
<jsp:setProperty name="useBean etiketinde verdiğimiz id" property="Sınıftaki değişken adı" />

Eğer birden fazla değişkene aynı anda değer ataması yapmak istiyorsak ‘*’ kullanabiliriz.

<jsp:setPropery name="useBean etiketinde verdiğimiz id" property="*"/>

 <jsp:getProperty> Etiketi

jsp:useBean etiketi ile belirtlilen bean‘in değişkenlerinin değerini çeker. Adından da anlaşılacaği gibi get metodunun işlevini yapar.

<jsp:getProperty name="useBean etiketinde verdiğimiz id" property="Sınıftaki değişken adı"/>

 useBean, getProperty ve setProperty ile İlgili Örnek Uygulama

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

	<form action="formuAl.jsp" method="post">
		<input name="isim" type="text">
		<input name="soyisim" type="text">
		<input type="submit"> 
	</form>

</body>
</html>

İsim ve soyisim alan basit bir form oluşturduk. Butona basıldığında formuAl.jsp‘ye gidecek.

Şimdi bir Bean(Java Sınıfı) oluşturalım.

Kisi.java

package deneme;

public class Kisi {

	private String isim;
	private String soyisim;
	
	public String getIsim() {
		return isim;
	}
	public void setIsim(String isim) {
		this.isim = isim;
	}
	public String getSoyisim() {
		return soyisim;
	}
	public void setSoyisim(String soyisim) {
		this.soyisim = soyisim;
	}
	 
}

Sınıfımızın içerisinde formdan gelen verileri karşılamak için 2 adet değişken oluşturduk.Bu değişkenlerin get ve set metotlarını oluşturduk.

Şimdi formuAl.jsp sayfamızda bu bean‘i kullanalım.

formuAl.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<jsp:useBean id="kisi" class="deneme.Kisi"/>
	<jsp:setProperty property="*" name="kisi"/>
	
	Hoşgeldiniz Sayın
	<jsp:getProperty name="kisi" property="isim"/>
	<jsp:getProperty name="kisi" property="soyisim"/>
</body>
</html>
  •  Önce jsp:useBean ile kullanacağımız sınıfı tanımladık ve ondan bir nesne oluşturduk.
  • jsp:setProperty etiketini kullanarak formdan gelen verileri bean’in değişkenlerine atadık. ‘*‘ kullanarak tüm değerleri tek satırda atamış olduk. Burada önemli nokta formdaki inputların name değerleri. O name değerleri Bean içindeki değişkenlerin isimleriyle aynı olmalı. Eğer değilse girdiğiniz değeri değil null değeri atar.
  • Hemen altında bean değişkenlerine atadığımız değerleri çekip bir hoşgeldin mesajı oluşturduk.

Ekran Görüntüleri

1

 

2

 

Bu yazıda JSP Action Etiketlerinden en çok kullanılanları anlatmaya çalıştım. Bir sonraki yazıda JSP Expression Tags konusuna değineceğiz. Görüş, öneri ve sorularınızı yorum kısmında belirtebilirsiniz. Hoşçakalın..

Yorum Ekle

JSP – Expression Tags – 6 | Kod5.org için bir yanıt yazın X