Etiqueta <sql:param>

JSP 标准标签库Biblioteca de etiquetas estándar de JSP

La etiqueta <sql:param> se usa anidada con las etiquetas <sql:query> y <sql:update> para proporcionar un marcador de posición de valor. Si es un valor nulo, el marcador de posición se establece en NULL de SQL.

Formato de sintaxis

<sql:param value="<string>"/>

Atributos

La etiqueta <sql:param> tiene los siguientes atributos:

Atributo Descripción ¿Requerido? Valor por defecto
value Valor del parámetro que se debe establecer no Body


Demostración de ejemplo

Primero, necesita crear una tabla Employees en la base de datos TEST y luego agregar algunos registros a la tabla. Los pasos específicos son los siguientes:

Paso 1:

Abra CMD, cambie el directorio al directorio de instalación:

C:\>
C:\>cd Program Files\MySQL\bin
C:\Program Files\MySQL\bin>

Paso 2:

Inicie sesión en la base de datos:

C:\Program Files\MySQL\bin>mysql -u root -p
Enter password: ********
mysql>

Paso 3:

Cree la tabla Employees en la base de datos TEST:

mysql> use TEST;
mysql> create table Employees
    (
     id int not null,
     age int not null,
     first varchar (255),
     last varchar (255)
    );
Query OK, 0 rows affected (0.08 sec)
mysql>

Crear registros de datos:

Finalmente, cree varios registros en la tabla Employees:

mysql> INSERT INTO Employees VALUES (100, 18, 'Zara', 'Ali');
Query OK, 1 row affected (0.05 sec)
 
mysql> INSERT INTO Employees VALUES (101, 25, 'Mahnaz', 'Fatma');
Query OK, 1 row affected (0.00 sec)
 
mysql> INSERT INTO Employees VALUES (102, 30, 'Zaid', 'Khan');
Query OK, 1 row affected (0.00 sec)
 
mysql> INSERT INTO Employees VALUES (103, 28, 'Sumit', 'Mittal');
Query OK, 1 row affected (0.00 sec)
 
mysql>

Ahora escriba un archivo JSP, use la etiqueta <sql:update> para ejecutar una declaración SQL DELETE para eliminar el registro con id=103:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ 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/TEST"
     user="root"  password="pass123"/>

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

<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>

El resultado de la ejecución es el siguiente:

sql-param

El uso de la etiqueta <sql:param> en las declaraciones SQL UPDATE y SELECT es similar a su uso en DELETE.


JSP 标准标签库Biblioteca de etiquetas estándar de JSP

Otras extensiones