JSP Ders05 - Aksiyon Elemanları


  JSP’de birçok aksiyon elemanı vardır. Bunların her biri farklı bir görevi icra etmekle görevlidir.

Aksiyon elemanı
Görevi
jsp:forward
request ve responseu farklı kaynağa yönlendirir.
jsp:include
farklı bir kaynağı sayfaya dahil eder.
jsp:useBean
yeni bir bean nesnesi oluşturur.
jsp:setProperty
bean nesnesinin özelliklerini setler.
jsp:getProperty
bean nesnesinin özelliklerini geri döndürür.
jsp:plugin
applet gibi farklı bir öğe (embedded )gömer.
jsp:param
parametre değeri setler.
jsp:fallback
plugin çalışıyorsa mesaj yazdırabilir.

jsp:forward ve jsp:include örneği içeren örnek aşağıdadır.

index.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
 pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>index.jsp</title>
</head>
<body>

 <jsp:forward page="1.jsp">
  <jsp:param name="ad" value="enes"/>
 </jsp:forward>

</body>
</html>

1.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
 pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>1.jsp</title>
</head>
<body>
 <jsp:include page="2.jsp" />
 <%="<br/>"%>
 <%=
  request.getParameter("ad")
 %>
</body>
</html>

2.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>2.jsp</title>
</head>
<body>
Merhabalar !
</body>
</html>

JSP action elements




Şimdi diğer örneğe geçmeden önce şunu açıklamakta fayda var. Java beanleri java sınıflarıdır. Bean nesneleri normalde oluşturduğumuz java sınıf nesneleri gibi düşünülebilir.
Bean için yapılması gerekenler:
  • Serializable’ı implement eden normal bir sınıf oluşturun.
  • Parametre almayan constructor metot oluşturun.
  • Sınıf elemanları için setter getter metotlarını oluşturun.
Görüldüğü üzere Java SE’daki oluşturduğumuz sınıflarda sadece ilk madde yok.Genel geçer kurallar aynı.

 index.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
 pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>index.jsp</title>
</head>
<body>

 <form action="1.jsp">
  ad<br /> <input type="text" name="ad" /><br />
   maas<br /> <input type="text" name="maas" /> <br />
  <br /> <input type="submit" value="gönder" />
 </form>

</body>
</html>

Personel.java
package test;

import java.io.Serializable;

public class Personel implements Serializable {
 private String ad;
 private int maas;

 public String getAd() {
  return ad;
 }

 public void setAd(String ad) {
  this.ad = ad;
 }

 public int getMaas() {
  return maas;
 }

 public void setMaas(int maas) {
  this.maas = maas;
 }
}

1.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>1.jsp</title>
</head>
<body>

<jsp:useBean id="pers" class="test.Personel" scope="session">
</jsp:useBean>

<jsp:setProperty name="pers" property="*"/> <%-- (*) gelen tüm parametreleri setle demek. --%>


<%-- <jsp:setProperty name="pers" property="ad" param="ad"/> --%>    <%-- gelen ad argümanını ad propertysine setle demek--%>
<%-- <jsp:setProperty name="pers" property="maas" param="maas"/>--%>

<%--<jsp:setProperty name="pers" property="ad" value="enes"/>--%> <%-- veya kendimiz değeri girebiliriz.--%>
<%--<jsp:setProperty name="pers" property="maas" value="3500"/>--%>


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

</body>
</html>

2.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<style type="text/css">
table,tr,td,th{
border:2px solid black;
padding:10px;
}

</style>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>2.jsp</title>
</head>
<body>

<jsp:useBean id="pers" type="test.Personel" scope="session"/>

<table>
<tr><th>AD</th><th>MAAS</th></tr>
<tr><td><jsp:getProperty name="pers" property="ad"/></td>
<td><jsp:getProperty name="pers" property="maas"/></td>
</tr>
</table>

<%-- veya ${pers.ad} ve ${pers.maas} kullanılabilir. --%>
</body>
</html>

JSP action elements

JSP action elements


Yorumlar

Bu blogdaki popüler yayınlar

Java SE Ders24 - Composition (Kompozisyon)

Spring Ders20 - Aspect Oriented Programming - AspectJ Annotation Style

JSF Ders30 - Page Template (Sayfa Şablonu)