You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java Spring Boot中JSP下拉框加载MySQL表主键与名称数据问题咨询

JSP下拉列表展示数据解决方案

前置配置

首先在JSP页面顶部引入JSTL核心标签库:

  • 传统Java EE环境:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  • Jakarta EE(Tomcat 10+)环境:
<%@ taglib prefix="c" uri="jakarta.tags.core" %>

同时确保项目依赖中已经引入JSTL相关jar包,否则标签无法正常解析。

save.jsp页面性别下拉框代码

假设GenderMST实体类的主键字段为genderId,名称字段为genderName,下拉框代码如下:

<select name="genderId">
  <option value="">请选择性别</option>
  <c:forEach items="${genderList}" var="genderItem">
    <option value="${genderItem.genderId}" 
      <c:if test="${genderItem.genderId == save-sal.genderId}">selected</c:if>>
      ${genderItem.genderName}
    </option>
  </c:forEach>
</select>

代码说明:

  • 用<c:forEach>遍历后端传入的genderList集合,每个选项的value值绑定主键genderId,展示内容绑定名称字段genderName
  • 编辑场景下会自动匹配save-sal对象中存储的性别ID,默认选中对应选项
  • 请将代码中的genderId、genderName替换为你实际实体类中对应的字段名,字段名需严格匹配大小写

search.jsp页面称谓下拉框代码

如果需要在搜索页展示称谓下拉,参考写法如下(假设SalutationMST主键为salutationId,名称字段为salutationName):

<select name="salutationId">
  <option value="">请选择称谓</option>
  <c:forEach items="${salutationList}" var="salItem">
    <option value="${salItem.salutationId}">${salItem.salutationName}</option>
  </c:forEach>
</select>

问题排查

如果下拉仍无内容,按以下步骤排查:

  • debug确认genderService.getAllGenderMST()、salutationService.getAllSalutationMST()方法返回的集合不为空
  • 打开浏览器F12查看页面源码,确认JSTL标签是否被正常解析,如果标签直接输出到页面说明JSTL依赖未正确引入

内容的提问来源于stack exchange,提问作者Sreerag Menon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 23:42:03