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

Jsp 通过包含引号的键获取EL中的映射值,jsp,hashmap,escaping,el,quotes,Jsp,Hashmap,Escaping,El,Quotes,我正在将映射列表从spring控制器传递到JSP。在foreach循环中,我尝试使用包含以下引号的键在映射中获取值: <fmt:parseDate value="${account["TO_CHAR(openingdate,'YYYYMMDD')"]}" ... /> 然而,我得到了语法错误。请告知是否有人遇到此问题 注意:我不能更改映射键,因为它是这样从数据库返回的。当属性本身是双引号(或者反过来)并且内部引号应该转义时,应该对EL字符串使用单引号 <fmt:parse

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

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

然而,我得到了语法错误。请告知是否有人遇到此问题


注意:我不能更改映射键,因为它是这样从数据库返回的。

当属性本身是双引号(或者反过来)并且内部引号应该转义时,应该对EL字符串使用单引号

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

注意,这里的语法高亮显示也变得很好

如果这仍然失败,那么您的EL实现可能有一个bug,即它需要第二个斜杠来避开斜杠本身(已知较旧的Apache EL有此问题,但Oracle EL没有)。那就重新逃离刀口吧

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