我有一个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>
答案 0 :(得分:0)
首先,您需要像这样查询数据库中的数据
<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或其他任何内容。