2012-07-05 16 views

Respuesta

19

${foo.class.name} devuelve el nombre totalmente calificado de foo.

Pero instanceof ya es algo que rara vez se debe utilizar en un programa OO de diseño, debe usarse incluso menos en el JSP EL, donde los métodos se llaman dinámicamente sin importar el tipo real, y donde el objetivo final debe solo ser para generar marcado.

+2

Gracias. Pero '$ {foo.class.name}' parece no funcionar en Tomcat7 hasta que cambien las configuraciones adicionales, lo que desafortunadamente no tengo la autorización para entrar. La comprobación de nombre de clase tiene lugar en un archivo table tagx que funciona en varios lugares. Sin embargo ahora, para una tabla específica, necesito verificar el nombre de la clase de objeto para dar salida a su valor de campo. No sé cómo comprometer eso con una mejor idea. – Dreamer

+9

En tomcat 7 (por lo que con JSP EL 2.2) puedes hacer '$ {foo.getClass(). Name}' y funciona ... –

+7

Si quieres que funcione tanto en Tomcat 6 como en 7, tienes dos opciones: - Use $ {foo ['clase']. nombre}, que funciona en ambas versiones - O configure Tomcat 7 para aceptar el formato anterior con -Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK = true –