JSTL SQL Param<sql:param> Tag Example

JSTL Param Tag provides the value of the parameter. In SQL update statement, paramters are sent using JSTL Param tag. The <sql:param> tag is used to set the parameters to the SQL query. We use this tag to set the placeholders and data to match the placeholder position to insert the data into the database or to update the database records. This tag is used as a nested tag inside the <sql:query> to provide the parameters to the query.

Syntax
<sql:param value=”<string>”/>

JSTL Param Tag has following attribute.

1. value Attribute: Specifies the value of the parameter.

JSTL <sql:param> Tag Example:-
The following example takes input from the employee and inserts the entered citizen information into the database using the combination of <sql:query> and <sql:param> tags. The list of records are displayed in tabular manner once the new record has been inserted.

Now let us write a JSP which will make use of <sql:update> to execute a SQL DELETE statement to delete one record with id = 103 from the table as follows:

<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ 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>JSTL sql:param Tag</title>
</head>
<body>
 
<sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost:3306/DAVDB"
     user="root"  password="root"/>

<c:set var="empId" value="3333"/>

<sql:update dataSource="${snapshot}" var="count">
  DELETE FROM Employees WHERE Id = ?
  <sql:param value="${empId}" />
</sql:update>

<sql:query dataSource="${snapshot}" var="result">
   SELECT * from Employees;
</sql:query>
 
<table border="1" width="100%">
<tr>
<th>Emp ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>Age</th>
</tr>
<c:forEach var="row" items="${result.rows}">
<tr>
<td><c:out value="${row.id}"/></td>
<td><c:out value="${row.first}"/></td>
<td><c:out value="${row.last}"/></td>
<td><c:out value="${row.age}"/></td>
</tr>
</c:forEach>
</table>

</body>
</html>

Now try to access above JSP, which should display the following result:

Emp ID First Name Last Name Age
1111 Dinesh Rajput 27
2222 Sweety Rajput 23
<<Previous <<   || Index ||   >>Next >>

Previous
Next

One Response

  1. Varun June 24, 2019