java - 在Java中获取Map中键的值

标签 java string jsp dictionary

我不是 Java 开发人员,但我正在尝试弄清楚如何从 Map 中获取值。我正在使用一个基本的(旧的)Struts 应用程序,没有花哨的东西或 JSTL afaik。我可以通过将 Map 转换为字符串来获取所有要输出的键/值对:

<% String myValue = pageContext.getSession().getAttribute("myMap").toString(); %>

但是,当我尝试访问特定 key 时它不起作用:

<% String myValue = pageContext.getSession().getAttribute("myMap['myKey']").toString(); %>

最佳答案

<% String myValue = ((Map) pageContext.getSession().getAttribute("myMap")).get("myKey").toString(); %>
resp.
<% String myValue = ((Map) session.getAttribute("myMap")).get("myKey").toString(); %>
// because session is an implicit object in JSP

但是,我强烈建议您不要在 JSP 中使用这样的意大利面条式代码。如果您需要输出“myKey”值,您可以使用例如<c:out>用 EL 标记:

<c:out value="${session.myMap.myKey}" />
or
<c:out value="${session['myMap']['myKey']" />

关于java - 在Java中获取Map中键的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31701763/

相关文章:

python - 仅从 Python 系列中提取数字

java - Servlet 的 Google guice 注入(inject)器返回 500 错误

javascript - 只有第一个按钮适用于 Jquery 的 forEach 标签

java - Java 23 小时制中的日期差异

java - 如何在启动时设置默认@AuthenticationPrincipal

Java - 当外部类捕获异常时进行监听

jsp - session.invalidate() 在 Websphere Application Server 中不起作用

java - Java 7 有哪些新特性

java - String.isEmpty() 持续出现 java.lang.NullPointerException 错误

c++ - 为什么 C++ 标准中没有 std::basic_string 类的构造函数,其参数为 std::string_view 类型