【问题标题】:Get map value in EL by key containing quotes通过包含引号的键获取 EL 中的地图值
【发布时间】:2016-02-03 08:36:19
【问题描述】:

我正在将地图列表从 spring 控制器传递给 JSP。在 foreach 循环中,我尝试使用包含引号的键以下列方式在 map 中获取值:

<fmt:parseDate value="${account["TO_CHAR(openingdate,'YYYYMMDD')"]}" ... />

但是,我收到语法错误。请告知是否有人遇到过此问题。

注意:我无法更改映射键,因为它是从数据库返回的。

【问题讨论】:

    标签: jsp hashmap escaping el quotes


    【解决方案1】:

    当属性本身被双引号(或相反)并且内引号应该被转义时,您应该对 EL 字符串使用单引号。

    <fmt:parseDate value="${account['TO_CHAR(openingdate,\'YYYYMMDD\')']}" ...  />
    

    注意这里的语法高亮也变得开心了。

    如果这仍然失败,那么您的 EL 实现可能存在需要第二个斜线来转义斜线本身的错误(已知旧的 Apache EL 有这个问题,但 Oracle EL 没有)。然后重新转义斜线本身。

    <fmt:parseDate value="${account['TO_CHAR(openingdate,\\'YYYYMMDD\\')']}" ...  />
    

    【讨论】:

      猜你喜欢
      • 2016-03-16
      • 2015-04-19
      • 2011-08-09
      • 1970-01-01
      • 2013-07-11
      • 1970-01-01
      • 2018-01-06
      • 1970-01-01
      相关资源
      最近更新 更多