Latest web development tutorials

<Sql: query> tag

JSP standard Tag Library JSP standard Tag Library

<Sql: query> est utilisé pour exécuter instruction SQL SELECT, il est possible de stocker le résultat dans une variable.

syntaxe

<sql:query
  var="<string>"
  scope="<string>"
  sql="<string>"
  dataSource="<string>"
  startRow="<string>"
  maxRows="<string>"/>

propriété

<Sql: query> balise a les attributs suivants:

propriété description le cas échéant Par défaut
sql commande SQL à être exécutée (retourne un objet ResultSet) aucun corps
dataSource Utilisé par la connexion de base de données (pour remplacer la valeur par défaut) aucun base de données par défaut
maxRows Le nombre maximal de résultats stocké dans la variable aucun infini
startRow Le nombre de lignes commencent à enregistrer les résultats des aucun 0
var Les représentants de bases de données variables aucun Les paramètres par défaut
portée attribut var Scope aucun page


Exemple de programme

Tout d'abord, vous devez construire dans un test table Employés de base de données, puis ajoutez quelques enregistrements à la table, les étapes sont les suivantes:

Etape 1:

Ouvrez le CMD, allez dans le répertoire du répertoire d'installation:

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

Étape 2:

Connexion Base de données:

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

Etape 3:

ESSAI établir table Employés dans la base de données:

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>

Créer un enregistrement de données:

Enfin, créer quelques enregistrements de la table Employés:

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>

Maintenant, écrire des fichiers JSP, utilisez le <sql: query> pour exécuter instruction SQL SELECT:

<%@ 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:query Tag</title>
</head>
<body>
 
<sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/TEST"
     user="root"  password="pass123"/>

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

Les résultats sont les suivants:

sql source


JSP standard Tag Library JSP standard Tag Library