<%--Dikkat web.xml içinde jstl de veriştabanına bağlanmak
için global bir değişken tanımladık.Istediğimiz sayfada
veritabanına bağlanabiliriz bu şekilde.Yanı her sayfada
class.forName() ve connection ya da statement tanımlamatan kurtulduk. --%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jstl/sql_rt" prefix="sql"%>
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<sql:query var="sonucKumesi">
select * from kitap
<table border="1">
| Kayit Guncelle |
| Kitap ISBN |
Kitap Adi |
| Kitap Yazari |
Kitap Fiyati |
| Kayit Sil |
<%--sonucaKumesinden foreach ve satir isminde değişkenle tüm sonuçları yazıyoruz.
Ben değişken ismine satir dedim ama genelde i kullanılır.Yanı istediğiniz ismi verebilirsiniz
var ile değişken tanımlıyoruz.items de tum sonucKumesi ssatırları eklenmiş.--%>
<c:forEach var="satir" items="${sonucKumesi.rows}">
<%--
|
içinde hidden olarak form oluşturulmuş ve
burdaki bilgileri Duzenle.jsp sayfasına gönderiyoruz.--%>
<form action="Duzenle.jsp" method="POST">
<%--value="${satir.isbn}" veritabanındaki bilgileri çekipi yazıyor.
databasedeki tablo sutun adlari isbn,ad,yazar,fiyat şeklindedir--%>
<input type="hidden" name="listeleIsbn" value="${satir.isbn}" />
<input type="hidden" name="listeleYazar" value="${satir.yazar}" />
<input type="hidden" name="listeleFiyat" value="${satir.fiyat}" />
<input type="submit" value="Guncelle" />
|
| <c:out value="${satir.isbn}"/> |
| <c:out value="${satir.ad}"/> |
| <c:out value="${satir.yazar}"/> |
| <c:out value="${satir.fiyat}"/> |
<%--silde de sadece i
sbn yi almam yeterlidir.Sil.jsp de gelen
isbnye ait kaydı siliyorum.isbn tablomun primary keyidir. --%>
<form action="Sil.jsp" method="POST">
<input type="hidden" name="listeleIsbn" value="${satir.isbn}" />
<input type="submit" value="Sil" />
|
<a href="index.jsp">
Kayit Ekleme Sayfasina Don
Ana sayfa:http://www.ethemsulan.com/2010/02/jstl-ile-mysql-veritabanna-kayt.html
<%--Dikkat web.xml içinde jstl de veriştabanına bağlanmak
için global bir değişken tanımladık.Bu uygulamada istediğimiz sayfada
veritabanına bağlanabiliriz bu şekilde.Yanı her sayfada
class.forName() ve connection ya da statement tanımlamatan kurtulduk. --%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jstl/sql_rt" prefix="sql"%>
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<%--!empty param.formIsbn formdaki isbn texti boş olursa kayit gerçekleşmez
Bu örnekte kitap adı ve isbn boş olmamalı.Ikisinin kontrolu yapılmış.
valuesteki ? lerine <sql:param
<c:when test="${!empty param.formIsbn and !empty param.formAd}">
insert into kitap(isbn,ad,yazar,fiyat) values(?,?,?,?)
<sql:param value="${param.formIsbn}"/>
<sql:param value="${param.formAd}"/>
<sql:param value="${param.formYazar}"/>
<sql:param value="${param.formFiyat}"/>
Kayit basariliyla gerceklesti
<c:out value="Ad ve ISBN bos olamaz.Kayit Gerceklesmedi MALESEF"/>
<a href="index.jsp">Geri Donup Bilgileri Tam Girin
<a href="KitapListele.jsp">
Kayitli Kitaplari Gormek Icin
Ana sayfa: http://www.ethemsulan.com/2010/02/jstl-ile-mysql-veritabanna-kayt.html
Veritabanı tablosu.Bazı kontroller yapılmamış mesela fiyat int girilmesi gerekir.String girilirse hata verir.Sadece jstl nasıl kullanıldığını ve her sayfada veritabanına bağlanmadan aynı connection, class.forName(),statement ifadelerini tanımlamadan veritabanına bağlabilmeyi basitçe göstermeye çalıştım.Bunu biz web.xml de bağlantı verilerini tanımlayarak uygulamanın içinde herhangi bir sayfada veritabanına bağlanabiliriz.

Apache tomcat sunucusu,jstl ve mysql jdbc driveri olması gerekir.
tablo resmi:
Isimler karışmasın diye diğer form text isimlerini tablodaki alanalrına başına hangi sayfadan geldiğini belirtecek şekilde isimlendirdim.Çünkü hangi kod hangi textteki değeri aldığı önemli.jstl tag kütüphanlerine de dikkat edin.
Ana sayfa yanı index.jsp kodu aşağıda ve diğer sınıfların da orjinal kodların linklerini belirtecem.
<%@page contentType="text/html" pageEncoding="UTF-8"%>
Kitap Ekleme Formu
<form action="KitapEkle.jsp" method="POST">
<table border="1">
| Kitap ISBN |
Kitap Adi |
| Kitap Yazari |
Kitap Fiyati |
| <input type="text" name="formIsbn" /> |
| <input type="text" name="formAd"/> |
| <input type="text" name="formYazar" /> |
| <input type="text" name="formFiyat"/> |
<input type="submit" value="Kayit Ekle" /> |
| <input type="reset" value="Iptal" /> |
<a href="KitapListele.jsp">
Kayitli Kitaplari Listele
Tüm sayfaların kodları:
http://www.ethemsulan.pastebin.com/f919a8a9
http://www.ethemsulan.pastebin.com/f7820051f
http://www.ethemsulan.pastebin.com/fc3695b4
http://www.ethemsulan.pastebin.com/f1a920a51
http://www.ethemsulan.pastebin.com/f43b7efac
http://www.ethemsulan.pastebin.com/f7a895e5d
web.xml: http://www.ethemsulan.pastebin.com/f41fdec19