10-06-2017, Saat: 02:26
sql: param Kullanımı ve Örneği
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<html>
<head>
<title>Burak Kutbay JSTL Sql</title>
</head>
<body>
<form method="post" action="index.jsp" name="Arama Yap">
<input type="text" name="ara" value="" />
<input type="submit" value="Arama Yap" name="Submit" />
</form>
<sql:query var="arasonuc" dataSource="baglan">
SELECT * FROM uye WHERE adi LIKE ?
<sql:param value="${param.ara}"/>
</sql:query>
<c:out value="${param.ara}"/>
<table>
<tr>
<th>Adı</th>
<th>Soyadı</th>
</tr>
<c:forEach var="goster" items="${arasonuc.goster}">
<tr>
<td><c:out value="${goster.adi}"/></td>
<td><c:out value="${goster.soyadi}"/></td>
</tr>
</c:forEach>
</table>
</body>
</html>
<sql:query var="arasonuc" dataSource="baglan">
SELECT * FROM uye WHERE adi LIKE ?
<sql:param value="${param.ara}"/>
</sql:query>
sql: param tag’ı projelerimiz içerisindeki bir değeri sql cümleciğinde kullanmak için kullanmamızı sağlayan tagdır. Bu tag sayesinde form’dan gelen değerleri yazılımımızın içerisinde kullandığımız değerleri SQL cümleciğine aktararak veritabanı ile iletişime geçmesini sağlamayız. SQL tag’ı kullanmak için projemize eklemeyi unutmayalım.
1
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
Bu JSP kodu örneğimizde sql: param kullanımını işleyeceğiz. Önceki tag kullanımlarında olduğu gibi datasource’mizin değişkenini belirtip sorgumuza bir değişken veri sql sorgumuzu yazarak işlemimiz gerçekleştirmemiz yeterli olmaktadır.
Bu örnekte veritabanımıza arama işlemi yapılacak bu arama işlemi kullanıcıya sunduğumuz arama formu arayıcılığı ile yapacak Bulunan değeler ise kullanıcıya gösterilecek
<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<html>
<head>
<title>Burak Kutbay JSTL Sql</title>
</head>
<body>
<form method="post" action="index.jsp" name="Arama Yap">
<input type="text" name="ara" value="" />
<input type="submit" value="Arama Yap" name="Submit" />
</form>
<sql:query var="arasonuc" dataSource="baglan">
SELECT * FROM uye WHERE adi LIKE ?
<sql:param value="${param.ara}"/>
</sql:query>
<c:out value="${param.ara}"/>
<table>
<tr>
<th>Adı</th>
<th>Soyadı</th>
</tr>
<c:forEach var="goster" items="${arasonuc.goster}">
<tr>
<td><c:out value="${goster.adi}"/></td>
<td><c:out value="${goster.soyadi}"/></td>
</tr>
</c:forEach>
</table>
</body>
</html>
Örneğimiz tamamlandı. Burada bu işlemi yaparken dikkat etmemiz nokta:
<sql:query var="arasonuc" dataSource="baglan">
SELECT * FROM uye WHERE adi LIKE ?
<sql:param value="${param.ara}"/>
</sql:query>
dır.
Her soru işaretine karşılık bir sql: param tagı yerleşir. Sql cümleciğinde değişkenleri kullanmak için “?” işaretleri kullanılır. Çalışma mantığı JDBC Dersinde yazmış olduğum PreparedStatement Nesnesi ile aynıdır.