2009-07-02 15 views
7

¿Es posible en JSP para obtener el tipo de objeto en la lista, al igual que hacemos en JavaEn JSP, ¿cómo identificar el tipo de objeto presente en una lista?

myDataBind.getResultsList().get(0).getClass(); 

o es posible lograr algo como esto:

if (myDataBind.getResultsList().get(0) instanceOf MyClass) { 
    doThis; 
} 

no lo hago prefiero scriptlets, pero si no es posible prescindir de scriptlets, por favor, hágame saber incluso esa solución.

  • asumiendo que todos los objetos en la lista son del mismo tipo.

Respuesta

12

El uso de JSTL, puede recuperar todo lo que utiliza la especificación JavaBeans - si desea utilizar getClass() en Java, se usaría .class en JSTL:

Esto escriba su nombre de clase:

${myList[0].class} 
+4

Neat. $ {myList [0] .class.name} sería el nombre de clase aunque (un simple toString imprimirá "class java.lang.String" o "interface java.util.Map") – Thilo

9

Me doy cuenta de que esta pregunta tiene 6 años; sin embargo, si alguien que busca cómo obtener la clase Java de un objeto en JSP encuentra esta pregunta, tenga en cuenta que las versiones actuales de JSP en realidad no permiten esta notación. Tendría que hacer

${myList[0]['class']} 

en su lugar. Si desea el nombre de la clase como una cadena, este método funciona bien con el método .name mencionado anteriormente. Harías

${myList[0]['class'].name} 

Usted puede encontrar más información aquí: https://bz.apache.org/bugzilla/show_bug.cgi?id=50120

Espero que esto ayude a alguien!

+0

Me pregunto por qué lo harían tan poco intuitivo. – killjoy

Cuestiones relacionadas