【问题标题】:JSP ask for user input and query database using sql tagsJSP 使用 sql 标签请求用户输入和查询数据库
【发布时间】:2016-01-08 17:34:38
【问题描述】:

我有一个 jsp 页面,我在其中使用 sql 标记来查询、更新和创建数据库中的列。我想询问用户输入,当他们插入输入时,查询数据库以获取他们输入的内容。我看不出该怎么做。如何显示和输入让用户提交该输入,然后使用 sql 标签将该输入作为查询发送?我相信用户的输入必须放在代码的“where NAME = ''”部分。这是我的代码:

<%@ 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"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

        <sql:setDataSource var="data" driver="org.apache.derby.jdbc.ClientDriver"
     url="jdbc:derby://localhost:1527/testing"
     user="testing"  password="testing"/>
    </head>

    <body>


   <sql:query var="t" dataSource="$ {data}">
        SELECT NAME FROM DATA WHERE NAME = ''
    </sql:query>    



    </body>
</html>

【问题讨论】:

    标签: jsp jdbc jstl derby javadb


    【解决方案1】:

    首先你需要像这样从数据库中查询数据

    <sql:query var="data" >
        SELECT * FROM public.DATA where NAME = ?
        <sql:param value="${param.searchString}" />
    </sql:query>
    

    在这种情况下,searchString(我们使用 param.searchString 是我们的搜索字符串)将是这样的输入文本框的名称

    <input type="text" name="searchString" />
    

    然后根据您的要求,您可以使用作用域变量 data 来显示使用 forEach 或其他任何内容。

    另见

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 2012-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-03
    相关资源
    最近更新 更多