使用文本框搜索和按钮对jsp文件进行SQL查询

时间:2015-01-06 10:30:40

标签: sql jsp jstl

我在搜索中遇到了困难(选择sql语句)。如何将我输入的值放在文本框中并在sql查询中使用它 这样我就可以在部门名称中搜索我插入的值。

我不知道对于这个&#34; SELECT * FROM部门的正确查询,其中department_name =&#39;&#34;%search%&#34;&#39;&#34; < / p>

以下是我的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>

1 个答案:

答案 0 :(得分:-2)

在第一个中,将参数插入SQL查询

<sql:query dataSource="${snapshot}" var="sql">
SELECT * from department WHERE department_name = <%= request.getParameter("query") %>;
</sql:query>

将方法更改为METHOD =“GET”和

<input type="text" name="query"/>
<INPUT TYPE="submit">

当您点击按钮时,网址就像

http://hostname.com/mywebapp/mypage.jsp?query=John+Smith