在JSP中,如何识别List中对象的类型?
题
在JSP中是否可以像Java中那样获取List中Object的类型
myDataBind.getResultsList().get(0).getClass();
或者是否有可能实现这样的目标:
if ( myDataBind.getResultsList().get(0) instanceOf MyClass ) {
doThis;
}
我不喜欢 scriptlet,但如果没有 scriptlet 就无法完成,那么也请让我知道该解决方案。
- 假设列表中的所有对象都具有相同类型。
解决方案
使用 JSTL,您可以检索使用 JavaBean 规范的所有内容 - 如果您想在 java 中使用 getClass(),则可以在 JSTL 中使用 .class:
这会写出你的类名:
${myList[0].class}
其他提示
我意识到这个问题已经有6年历史了;然而,如果有人在搜索如何在 JSP 中获取对象的 Java 类时发现了这个问题,请注意当前版本的 JSP 实际上不允许这种表示法。你必须做
${myList[0]['class']}
反而。如果您希望类名作为字符串,此方法可以与上面提到的 .name 方法配合使用。你会做
${myList[0]['class'].name}
你可以在这里找到更多: https://bz.apache.org/bugzilla/show_bug.cgi?id=50120
希望这对某人有帮助!
不隶属于 StackOverflow