一尘不染

如何使用EL + JSTL将任意对象转换为String?(调用toString())

jsp

有什么方法可以使用EL和JSTL在对象上调用toString()吗?(我需要一个枚举的String表示形式作为JSP
EL表达式中的映射中的索引。)我希望类似的东西${''+object}在Java中也可以工作,但是EL并不是很好,并且似乎没有任何函数可以它。

澄清:我有一个somemap将字符串映射到字符串的变量,并且我有someenum一个枚举变量。我想做类似的事情${somemap[someenum.toString()]}。(.toString()当然不起作用,但是怎么办?)


阅读 427

收藏
2020-06-08

共1个答案

一尘不染

您只需要这样:

${object}

它会toString为你。


编辑 :您的嵌套表达式可以这样解决:

<c:set var="myValue">${someenum}</c:set>
${somemap[myValue]}

第一行(使用toString())对${someenum}表达式进行字符串化并将其存储在myValue变量中。第二行用于myValue索引地图。

2020-06-08