本文目录导读:

下面是一个Java下拉回显的简易案例实现,包含前端页面和后端代码。
功能说明
用户在页面下拉框选择一个选项后,提交到后台,后台将选中值重新回显到下拉框中。
案例实现
前端页面 (selectDemo.jsp)
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">下拉回显案例</title>
</head>
<body>
<h2>下拉框回显示例</h2>
<form action="${pageContext.request.contextPath}/SelectServlet" method="post">
<label>选择城市:</label>
<select name="city">
<option value="">-- 请选择 --</option>
<option value="beijing" ${selectedCity == 'beijing' ? 'selected' : ''}>北京</option>
<option value="shanghai" ${selectedCity == 'shanghai' ? 'selected' : ''}>上海</option>
<option value="guangzhou" ${selectedCity == 'guangzhou' ? 'selected' : ''}>广州</option>
<option value="shenzhen" ${selectedCity == 'shenzhen' ? 'selected' : ''}>深圳</option>
</select>
<br><br>
<input type="submit" value="提交">
<input type="button" value="重置" onclick="resetSelect()">
</form>
<%-- 显示回显信息 --%>
<% if(request.getAttribute("message") != null) { %>
<p style="color: blue; margin-top: 20px;">
<%= request.getAttribute("message") %>
</p>
<% } %>
<script>
// 简单重置下拉框
function resetSelect() {
document.getElementsByName("city")[0].value = "";
}
</script>
</body>
</html>
后端Servlet (SelectServlet.java)
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* 下拉回显处理Servlet
*/
@WebServlet("/SelectServlet")
public class SelectServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// GET请求直接跳转到页面
request.getRequestDispatcher("/selectDemo.jsp").forward(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 获取用户选择的城市
String selectedCity = request.getParameter("city");
// 校验数据
if (selectedCity != null && !selectedCity.isEmpty()) {
// 将选中的城市放入request域
request.setAttribute("selectedCity", selectedCity);
// 根据选择生成提示信息
String cityName = getCityName(selectedCity);
request.setAttribute("message", "您选择了:" + cityName);
} else {
request.setAttribute("message", "请选择一个城市");
}
// 转发到JSP页面(回显)
request.getRequestDispatcher("/selectDemo.jsp").forward(request, response);
}
/**
* 根据value获取城市名称
*/
private String getCityName(String value) {
switch(value) {
case "beijing": return "北京";
case "shanghai": return "上海";
case "guangzhou": return "广州";
case "shenzhen": return "深圳";
default: return value;
}
}
}
实现原理
-
前端JSP:使用EL表达式
${selectedCity}判断回显值,通过三元运算符? 'selected' : ''给option添加selected属性 -
后端Servlet:
- 接收用户提交的城市值
- 放入request作用域(
request.setAttribute("selectedCity", selectedCity)) - 转发到JSP页面
-
回显流程:
用户选择 → 提交表单 → Servlet处理 → 设置属性 → 转发JSP → 页面显示选中状态
运行步骤
- 将上述两个文件放入Java Web项目的对应目录
- 启动Tomcat等服务器
- 访问:
http://localhost:8080/项目名/SelectServlet - 选择一个城市并提交,即可看到下拉框回显效果
其他常见回显方式
方式1:使用JSTL标签(更简洁)
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<select name="city">
<option value="">请选择</option>
<option value="beijing" <c:if test="${selectedCity == 'beijing'}">selected</c:if>>北京</option>
<option value="shanghai" <c:if test="${selectedCity == 'shanghai'}">selected</c:if>>上海</option>
</select>
方式2:后台直接处理(不推荐)
在Servlet中直接生成带selected的HTML字符串返回,但这种方式会破坏MVC分层,一般不使用。
这个案例实现了典型的下拉回显功能,你可以根据实际需求调整选项内容和业务逻辑。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播