【JavaWeb笔记】单选框,结合Servlet

各个部分的作用

jsp部分

form action="...":表单标签,供用户提交数据。内部的submit点击之后相当于是点action的URL

input type="radio":输入类型为单选框。把name设置为一样的,这样效果上就是单选,也可以自己修改,让它实现多选、互斥选等功能。如果三个单选的name都是queryType,我们在servlet中写起来会方便很多,通过request.getParameter(name)得到用户是选了哪种查询方式。再通过

request.getParameter(request.getParameter(name))得到用户输入的内容,动态代码。

label:for谁,点击之后,就相当于是鼠标点谁。for单选框,点完,就会选中。for文本框,点完,光标就会在文本框闪。
input type="text":文本框

input type="submit" value="查询":提交按钮

Servlet在这里常出的错

pstmt.setString(1,content):这会自动给content加上单引号,再加入到pstmt的字符串中。

代码

Jsp

html 复制代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>query</title>
</head>
<body>
<form action="<%=request.getContextPath()%>/query">
    <input type="radio" id="name" name="queryType" value="name" checked>
    <label for="name">按姓名查询</label>
    <label for="studentName">学生姓名:</label>
    <input type="text" id="studentName" name="name">
    <br>
    <input type="radio" id="student_id" name="queryType" value="id">
    <label for="student_id">按学号查询</label>
    <label for="studentId">学生学号:</label>
    <input type="text" id="studentId" name="id"><br>
    <br>

    <input type="radio" id="student_fl" name="queryType" value="fl">
    <label for="student_fl">显示有不及格学科的学生信息</label><br>
    <input type="submit" value="查询">
    <a href="index.jsp">返回主页</a>

</form>
</body>
</html>

Servlet

java 复制代码
// 获取查询类型
String queryType = request.getParameter("queryType");
// 
String content = request.getParameter(queryType);
···
// 查询语句
String sql = "select * from Marks where "+queryType+"=?";
pstmt= conn.prepareStatement(sql);
pstmt.setString(1,content);
相关推荐
智者知已应修善业7 小时前
【洛谷P9975奶牛被病毒传染最少数量推导,导出多样例】2025-2-26
c语言·c++·经验分享·笔记·算法·推荐算法
Junlan277 小时前
Cursor使用入门及连接服务器方法(更新中)
服务器·人工智能·笔记
risc1234568 小时前
如何认识结构?结构 = 要素 + 关系 + 动态
笔记
風清掦9 小时前
【江科大STM32学习笔记-05】EXTI外部中断11
笔记·stm32·学习
wdfk_prog9 小时前
[Linux]学习笔记系列 -- [drivers][tty]sysrq
linux·笔记·学习
QT.qtqtqtqtqt9 小时前
uni-app小程序前端开发笔记(更新中)
前端·笔记·小程序·uni-app
EmbedLinX10 小时前
嵌入式之协议解析
linux·网络·c++·笔记·学习
凉、介10 小时前
VMware 三种网络模式(桥接 / NAT / Host-Only)原理与实验解析
c语言·网络·笔记·操作系统·嵌入式·vmware
Aliex_git10 小时前
跨域请求笔记
前端·网络·笔记·学习
2501_9011478310 小时前
面试必看:优势洗牌
笔记·学习·算法·面试·职场和发展