在数据显示页面增加按姓名查询功能

在上一章内容《将数据库中表格信息输出到页面上》的基础上,增加按姓名查询功能。

问:怎么在显示学生信息的页面增加按照姓名查询的功能?

答:在显示学生信息的页面,使用<form>标签为用户创建表单,表单向服务器传输数据,使用<input> 标签搜集用户输入的信息,使用where子句为查询语句添加限制条件。

在<body>标签内,使用<form>标签为用户创建表单和<input>标签搜集用户输入信息:

<form action="student.jsp">
    <input id="sname" name="sname" placeholder="按姓名查询">
    <input type="submit" value="查询">
</form>

修改SQL查询语句:

使用 request.getParameter() 方法来获取表单参数的值。

        String sname = request.getParameter("sname");
        String sql = null;
        if (sname == null) {
            sql = "select * from student";
        } else {
            sql = "select * from student where sname like '%" + sname + "%'";
        }

地址栏访问student.jsp文件(注意观察地址栏变化):

(1)初始页面: 

图1:初始页面

(2)在输入框中输入“张”,查询张姓学生 

图2:在输入框中输入“张”,点击“查询”按钮

(3)在输入框中输入“李”,查询李姓学生 

图3:在输入框中输入“李”,点击“查询”按钮

(4)输入框无内容,直接点击查询 

图4:在图2或者图3 的基础上,直接点击“查询”按钮

student.jsp完整代码如下:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="com.test1.db.StudentDb" %>
<%@ page import="java.util.List" %>
<%@ page import="com.test1.entity.Student" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>学生信息显示页面</title>
    <style>
        td {
            white-space: nowrap;
        }
    </style>
</head>
<body>
<form action="student.jsp">
    <input id="sname" name="sname" placeholder="按姓名查询">
    <input type="submit" value="查询">
</form>
<table border="1" cellspacing="0">
    <tr>
        <td>学号</td>
        <td>姓名</td>
        <td>年龄</td>
        <td>性别</td>
        <td>地区</td>
        <td>专业</td>
        <td>班级</td>
        <td>民族</td>
    </tr>

    <%
        StudentDb sdb = new StudentDb();
        String sname = request.getParameter("sname");
        String sql = null;
        if (sname == null) {
            sql = "select * from student";
        } else {
            sql = "select * from student where sname like '%" + sname + "%'";
        }
        List<Student> lst = sdb.getStudent(sql);
        request.setAttribute("stuLst", lst);
    %>
    <c:forEach items="${stuLst}" var="stu">
        <tr id="${stu.sid}">
            <td>${stu.sid}</td>
            <td>${stu.sname}</td>
            <td>${stu.sage}</td>
            <td>${stu.ssex}</td>
            <td>${stu.snativeplace}</td>
            <td>${stu.smajor}</td>
            <td>${stu.sclass}</td>
            <td>${stu.snative}</td>
        </tr>
    </c:forEach>
</table>
</body>
</html>

返回目录:学生信息管理系统(Java+JSP)

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值