EL表达式获取Map和List中的值
EL表达式获取Map和List中的值
EL表达式取Map中的值:
- 当Map中是String,String时
后台servlet中:
Map<String, String> map1 = new HashMap<String, String>(); map1.put("a", "b"); map1.put("aa", "bb"); map1.put("aaa", "bbb"); |
前台jsp 中使用EL获取Map:
- 使用${map1["a"]}或${map1.a}取值
${map1["a"]} ${map1.a} |
输出为:
- 使用jstl的<forEach>标签取值
<c:forEach items="${map1}" var="item"> key:<c:out value="${item.key}" /> value:<c:out value="${item.value}" /> <br/> </c:forEach> |
输出为:
不知道为什么与存放的顺序不同?
- 当Map中是Integer,String时
后台servlet中:
HashMap<Integer, String> map2 = new HashMap<Integer, String>();
map2.put(1, "b");
map2.put(2, "bb");
map2.put(3, "bbb");
前台jsp 中使用EL获取Map:
- 使用${map2[1]}或${map2["1"]},不可以获取到值,使用${map2.1}取值会报错。当Map中的key类型为Long时,可以使用${map2[1]}取到值
- 使用jstl的<forEach>标签取值,与Map中存放String,String时一样,可以取到值
EL表达式取List的值:
后台servlet:
List<String> list1 = new ArrayList<String>();
list1.add("a");
list1.add("b");
list1.add("c");
list1.add("d");
前台jsp 中使用EL获取Map:
- 使用${list1[1]}获取值
- 使用jstl的<forEach>标签取值
<c:forEach items="${list2 }" var="item">
<c:out value="${item}"></c:out> <br/>
</c:forEach>
无论List中存放的是String或是Integer,上述两种方式都可以成功取到值
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~