在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

希望这对某人有帮助!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top