【发布时间】:2015-01-06 10:30:39
【问题描述】:
我在搜索中遇到困难(选择 sql 语句)。如何将我输入的值放在文本框中并在sql查询中使用 这样我就可以根据我插入的值搜索部门名称。
我不知道这个“SELECT * FROM department where department_name ='”%search%“'”的正确查询
下面是我的jsp文件:
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
/head>
<body>
<sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/department"
user="root" password="root"/>
<sql:query dataSource="${snapshot}" var="sql">
SELECT * from department;
<!-- SELECT * FROM department where department_name ='"%search%"'-->
</sql:query>
<FORM NAME="form1" METHOD="POST">
<input type="text" name="search"/>
<INPUT TYPE="BUTTON" VALUE="Button 1">
</FORM><br>
<table border=1>
<thead>
<tr>
<th>department Id</th>
<th>department Name</th>
<th colspan=1>Action</th>
</tr>
</thead>
<tbody>
<c:forEach var="user" items="${sql.rows}">
<tr>
<td><c:out value="${user.department_id}" /></td>
<td><c:out value="${user.department_name}" /></td>
</tr>
</c:forEach>
</tbody>
</table>
</body>
</html>
【问题讨论】:
-
阅读第一段:docs.oracle.com/javaee/5/tutorial/doc/bnald.html 换句话说,世界上每个理智的 JSP 开发人员都真诚地希望您不要在生产中使用它。