Как в JSP определить тип объекта, присутствующего в списке?
Вопрос
Возможно ли в JSP получить тип объекта в списке, как мы это делаем в Java?
myDataBind.getResultsList().get(0).getClass();
или можно ли добиться чего-то вроде этого:
if ( myDataBind.getResultsList().get(0) instanceOf MyClass ) {
doThis;
}
я не предпочитаю скриптлеты, но если без скриптлетов обойтись невозможно, то, пожалуйста, дайте мне знать и об этом решении.
- предполагая, что все объекты в списке относятся к одному типу.
Решение
Используя JSTL, вы можете получить все, что использует спецификацию JavaBean — если вы хотите использовать getClass() в Java, вы должны использовать .class в JSTL:
Это запишет ваше имя класса:
${myList[0].class}
Другие советы
Я понимаю, что этому вопросу 6 лет;однако если кто-то, кто ищет, как получить класс Java объекта в JSP, найдет этот вопрос, обратите внимание, что текущие версии JSP фактически не допускают эту запись.Вам придется сделать
${myList[0]['class']}
вместо.Если вы хотите, чтобы имя класса было строкой, этот метод хорошо работает с упомянутым выше методом .name.ты бы сделал
${myList[0]['class'].name}
Вы можете узнать больше здесь: https://bz.apache.org/bugzilla/show_bug.cgi?id=50120
Надеюсь, это кому-то поможет!