gpt4 book ai didi

java - 在 JSTL 中,当其键包含一个点时如何访问映射值?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:29:27 25 4
gpt4 key购买 nike

当我的 map 包含名称中带点的键时,我无法使用通常的代码直接访问相应的值:

${recordForm.map['records.key']}

有没有办法避开这个点?或者我是否必须求助于遍历所有值并检查 key ? (我知道迭代有效)。

谢谢!

最佳答案

它应该可以工作。你的问题出在别处。要么你没有运行你认为的代码,要么你为了发布这个问题而“过多地”更改了原始代码,并且巧合地变成了正确的代码。

[编辑] 作为对您在下方评论的回答:它确实有效。我什至为你创建了一个 quick-n-dirty SSCCE(quick-n-dirty 就像:使用 scriptlets 而你不应该在真实中这样做 -java 代码属于 java 类):

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

<%
// NOTE: this code belongs (in)directly in a Servlet class.
Map<String, Object> map = new HashMap<String, Object>();
map.put("foo.bar", "fubar");
map.put("beh.moo", 1234567);
request.setAttribute("map", map);
%>

<html>
<head><title>test</title></head>
<body>
<p>Access map values by key: ${map['foo.bar']} ${map['beh.moo']}</p>

<p>Iterate over map values:
<c:forEach items="${map}" var="entry">
<br>${entry.key} = ${entry.value}
</c:forEach>
</p>
</body>
</html>

它完美地工作。

关于java - 在 JSTL 中,当其键包含一个点时如何访问映射值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1631602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com