×
JSP 教程JSP 简介JSP 开发环境搭建Eclipse JSP/ServletJSP 结构JSP 生命周期JSP 语法JSP 指令JSP 动作元素JSP 隐含对象JSP 客户端请求JSP 服务器响应JSP HTTP 状态码JSP 表单处理JSP 过滤器JSP Cookies 处理JSP SessionJSP 文件上传JSP 日期处理JSP 页面重定向JSP 点击量统计JSP 自动刷新JSP 发送邮件

JSP 高级教程

JSP 标准标签库(JSTL)JSP 连接数据库JSP XML 数据处理JSP JavaBeanJSP 自定义标签JSP 表达式语言JSP 异常处理JSP 调试JSP 国际化

<sql:param> 标签


JSP 标准标签库(JSTL)JSP 标准标签库(JSTL)


<sql:param>标签与<sql:query>标签和<sql:update>标签嵌套使用,用来提供一个值占位符。如果是一个null值,则将占位符设为SQL NULL。

语法格式

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

属性

<sql:param>标签有如下属性:

属性 描述 是否必要 默认值
value 需要设置的参数值 Body


实例演示

首先,需要在TEST数据库中建一个Employees表,然后往表中添加几条记录,具体操作步骤如下:

步骤1:

打开CMD,将目录转至安装目录下:

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

步骤2:

登陆数据库:

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

步骤3:

在TEST数据库中建立Employees表:

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>

创建数据记录:

最后,在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>

现在编写JSP文件,使用<sql:update>标签来执行SQL DELETE语句来删除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>

运行结果如下:

sql-param

在SQL UPDATE和SELECT语句中使用<sql:param>标签与在DELETE中用法相似。



JSP 标准标签库(JSTL)JSP 标准标签库(JSTL)


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)