【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);
相关推荐
不动明王呀17 分钟前
almalinux8.10配置免密登录笔记
笔记
问心无愧051324 分钟前
ctf show web 入门152
前端·笔记
05候补工程师37 分钟前
【408狂飙·数据结构】核心考点深度复盘:数组地址计算、特殊矩阵压缩存储与树的五大性质解题直觉
数据结构·笔记·线性代数·考研·算法·矩阵
小+不通文墨1 小时前
在树莓派中部署emqx
经验分享·笔记·单片机·学习
Fu2067211 小时前
OSPF笔记 OSPF --- 开放式最短路径优先
网络·笔记
William Dawson1 小时前
【软考中级备考日记|系统集成项目管理工程师Day20:终章上岸|最后一页纸必考清单(考场直接默写、零基础必背)】
笔记·系统集成项目管理工程师
玄米乌龙茶1231 小时前
LLM 应用开发学习笔记:System Prompt 设计、注入风险与成本优化
笔记·学习·prompt
不是山谷.:.1 小时前
Axios的【接口防抖 + 请求失败重试 + 弱网提示】三合一高阶版封装
前端·javascript·vue.js·笔记·elementui·typescript
吃着火锅x唱着歌1 小时前
深度探索C++对象模型 学习笔记 第五章 构造、解构、拷贝语意学(1)
c++·笔记·学习
LuminousCPP2 小时前
数据结构 - 线性表第二篇:动态顺序表进阶接口实现
c语言·数据结构·笔记·顺序表·线性表