2016-03-22 1 views
2

J'ai une variable EL ${foo} dans ma page JSP. Je veux imprimer le nom de la classe de la variable. J'ai essayé:Imprimer juste le nom de la classe dans EL

${foo['class']} 

Ce qui fonctionne très bien, mais il imprime ce texte exact sur:

class app.test.model.Foo 

Cependant, je veux juste pour imprimer la partie Foo et non le reste. Y'a-t'il un quelconque moyen d'y arriver?

+2

C'est EL, pas JSTL. Pour savoir ce qu'est exactement JSTL, rendez-vous sur http://stackoverflow.com/tags/jstl/info J'ai corrigé la terminologie dans votre question. – BalusC

+0

@BalusC je vous remercie pour la perspicacité! Heureux que j'ai posé ma question ici avant que je dise quelque chose de stupide en public xD – Richard

+0

De rien. – BalusC

Répondre

4

Cette expression EL, ${foo['class']}, appelle réellement Object#getClass() sur l'instance Object représentée par ${foo}. Cette méthode renvoie une instance java.lang.Class qui à son tour a une méthode getSimpleName() que vous recherchez.

Dans l'ensemble,

${foo['class'].simpleName}