我不是Java开发人员,但我试图弄清楚如何从Map中获取值.我正在使用基本的(旧)Struts应用程序,没有花哨的东西或JSTL afaik.我可以通过将Map转换为String来获取所有键/值对的输出:
<% String myValue = pageContext.getSession().getAttribute("myMap").toString(); %>
但是,当我尝试访问特定密钥时,它不起作用:
<% 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']" />