【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);
相关推荐
我命由我1234515 小时前
JavaScript 开发 - 获取函数名称、获取函数参数数量、获取函数参数名称
开发语言·前端·javascript·css·html·html5·js
Yeh20205816 小时前
cookie与Session笔记
笔记
d111111111d16 小时前
STM32-UART封装问题解析
笔记·stm32·单片机·嵌入式硬件·学习·算法
寒秋花开曾相惜17 小时前
(学习笔记)4.2 逻辑设计和硬件控制语言HCL(4.2.1 逻辑门&4.2.2 组合电路和HCL布尔表达式)
linux·网络·数据结构·笔记·学习·fpga开发
Yeh20205817 小时前
request与response笔记
java·前端·笔记
Fuyo_111918 小时前
C++ 内存管理
c++·笔记
柳鲲鹏18 小时前
李善兰和牛顿,谁剽窃谁的运动三定律
笔记
handler0120 小时前
Linux 进程探索:从 PCB 管理到 fork() 的写时拷贝
linux·c语言·c++·笔记·学习
xuhaoyu_cpp_java20 小时前
MyBatis学习(五)
经验分享·笔记·学习·mybatis
AI_6614659720 小时前
副业平台收益效率评估:实验设计、指标体系与数据分析框架
经验分享·笔记