【发布时间】:2010-05-21 16:20:14
【问题描述】:
有没有办法用 EL 和 JSTL 对对象调用 toString() ? (我需要枚举的字符串表示形式作为 JSP EL 表达式中映射中的索引。)我希望像 ${''+object} 这样的东西可以像在 java 中一样工作,但是 EL 不是很好,而且似乎没有执行此操作的函数。
澄清:我有一个将字符串映射到字符串的变量somemap,我有一个变量someenum,它是一个枚举。我想做类似${somemap[someenum.toString()]} 的事情。 (当然 .toString() 不起作用,但是有什么作用呢?)
【问题讨论】:
-
我将您问题中的“JSTL”固定为“EL”。
${}的东西不是 JSTL。它是表达语言(EL)。 JSTL 是标准的标签库,例如c:out、c:forEach等 -
它确实是 EL + JSTL - 该解决方案不能单独使用 EL,但两者都适用。
-
您的实际问题是 EL,而不是 JSTL。 JSTL 只是一个愚蠢的流控制标签库,它对表达式和后端数据(如枚举)一无所知。
-
见stackoverflow.com/a/55136138/2465785,
${'' + object}无效,但可以使用${''}${object}