【问题标题】:use of maps in Java and JSP在 Java 和 JSP 中使用映射
【发布时间】:2012-12-20 19:55:55
【问题描述】:

我发现很难从 Hashmap 中访问 JSP 中的值,其键包含特殊字符,如“:”。我需要它,因为我必须访问来自后端调用的 jcr:title。我可以从映射中获取值并使用不同的键将其放回,但是有没有办法在 JSP 中访问这些键?

当深度增加时会出现更多问题,例如我们获取地图列表等时。

我也尝试过使用 map["key"].. 但是当我们使用标签将其设置为参数时失败

提前致谢

这是我的代码的样子

<c:forEach var="test" items=${someList(someMap)}>
    ${test.jcr:title} // not working
<c:forEach>


<c:set var="someValue" value="${someMap["someKey"]}"> //this fails

【问题讨论】:

  • 你最好使用 Java Beans 而不是 Maps。 JSP 的工作是生成标记,因此它不应该修改 Map。也就是说,如果您指示真实代码而不是“不工作”和“失败”,并使用相应的 Java 代码填充映射,以及您收到的确切错误消息,也许我们可以提供帮助。

标签: jsp hashmap jstl


【解决方案1】:

":" 字符在 EL 表达式中无效(除非您使用 inline if 运算符 ? :),这就是为什么您的第一次尝试“不起作用 em>”。

在第二个中,您应该在 EL 表达式中使用单引号,即:

<c:set var="someValue" value="${someMap['someKey']}">

【讨论】:

    猜你喜欢
    • 2022-11-28
    • 2022-11-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-25
    • 2011-10-25
    • 2021-07-21
    • 2012-12-30
    • 1970-01-01
    相关资源
    最近更新 更多