今天来马克一下把数据库中的数据动态显示到前台页面下拉框中/默认选中

本文介绍如何使用JSTL标签库实现从数据库获取数据填充到HTML下拉框中,包括展示数据及更新时默认选中项的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 我知道方法应该有很多,但是我觉得我接下来说的方法还是很简单的。
首先最最重要的就是在前台页面页面头部写上
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
因为我要用到foreach。
其次就是在controller中,即action中从数据库获取你想要的数据封装成list
try {
superClassList = checkElementClassJamieDelegate.getAllSuperClassList(model);
} catch (SysException e) {
e.printStackTrace();
} catch (AppException e) {
e.printStackTrace();
}
     request.setAttribute("superClass", superClassList);


类似于这样 用request.setAttribute("参数名",数据列表)把list传到前台

然后前台页面就这样写就可以了

id和name是这个list的类型的属性,也可以获取其他的属性

<select name="a" id="a">
<c:forEach var = "aa" items="${superClass}">
<option value="${aa.id}">${aa.name}</option>
</c:forEach>

</select>


上面就实现了下拉框的项值从后台数据库中获取的效果

可用于页面中的增加 时让用户选中传给数据库



下面在说一下 页面中的更新时 下拉框默认选中本列的值

依旧是 需要用到jstl表达式

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

然后在页面中你想插入下拉框的地方写上

//m是页面中获取的实体,sc是索引

<select id="sci" name="sci" >
                <c:forEach var = "sc" items="${superClass}">
<option value="${sc.id}"   <c:if  test="${sc.id==m.id }"> selected="selected"</c:if>>${sc.name}</option>
</c:forEach>

</select>

如果从后台获取到下拉框的数据中某一条和用户选中的这一条的id属性相同,那么这条数据的名称name就默认选中


ok 就这样 我在不断的努力 哪怕一点点的改变都是我所在乎的

有问题欢迎和我讨论呦~

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值