通过包含引号的键获取EL中的映射值

时间:2016-02-03 08:36:20

标签: jsp hashmap escaping el quotes

我从spring控制器将地图列表传递给JSP。在foreach循环内部我试图使用包含引号的键在map中获取值,如下所示:

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

但是,我收到语法错误。如果有人遇到过这个问题,请告知。

注意:我无法更改地图密钥,因为它是从数据库返回的。

1 个答案:

答案 0 :(得分:1)

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

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

请注意,这里的语法高亮显示也很高兴。

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

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