我从spring控制器将地图列表传递给JSP。在foreach循环内部我试图使用包含引号的键在map中获取值,如下所示:
<fmt:parseDate value="${account["TO_CHAR(openingdate,'YYYYMMDD')"]}" ... />
但是,我收到语法错误。如果有人遇到过这个问题,请告知。
注意:我无法更改地图密钥,因为它是从数据库返回的。
答案 0 :(得分:1)
当属性本身被双引(或反过来)时,你应该对EL字符串使用单引号,并且应该对内引号进行转义。
<fmt:parseDate value="${account['TO_CHAR(openingdate,\'YYYYMMDD\')']}" ... />
请注意,这里的语法高亮显示也很高兴。
如果这仍然失败,那么你的EL实现可能有一个错误,它需要第二个斜杠来逃避斜线本身(已知旧的Apache EL有这个问题,但Oracle EL没有)。然后重新逃避斜线。
<fmt:parseDate value="${account['TO_CHAR(openingdate,\\'YYYYMMDD\\')']}" ... />