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

标签 java jsp jstl el

有没有什么方法可以使用 EL 和 JSTL 在对象上调用 toString()? (我需要枚举的字符串表示作为 JSP EL 表达式中映射中的索引。)我希望像 ${''+object} 这样的东西能像在 java 中一样工作,但 EL 不是那很好,而且似乎没有任何功能可以做到这一点。

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

最佳答案

你只需这样做:

${object}

它会为您toString


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

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

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

关于java - 如何使用EL + JSTL将任意对象转换为String? (调用 toString()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2883726/

相关文章:

java - 在 Java 中, boolean 值 "order of operations"是什么?

java - 无法使用 Tomcat 运行 Spring REST 应用程序

java - 在文件 jgrasp 中找不到主要方法、小程序或 Midlet

java - struts.xml 中 Struts 的默认包名称是什么?

javascript - 当项目从java1.4迁移到java1.8时,jsp中TextBox的默认值为 "null"

java - 是 :url (in Struts2) not do url-rewriting like c:url does in case cookies are disabled?

jquery 星级评定在表中不起作用

jsf - 将 JSTL 与 Facelets 集成

java - JSTL foreach 和智能感知

documentation - JSTL 1.2 标签引用文档的链接