Actuellement, j'ai le code suivant:Comment puis-je trouver le nom d'une balise JSP en Java?
Tag tag = getParent();
while(tag != null) {
parents.append("child of ")
.append(tag.getClass().getName())
.append("\n");
tag = tag.getParent();
}
quand cela fonctionne, je reçois le texte suivant:
com.mystuff.mvc.tag.MyTag
child of org.apache.taglibs.standard.tag.rt.core.IfTag
child of javax.servlet.jsp.tagext.TagAdapter
child of javax.servlet.jsp.tagext.TagAdapter
child of javax.servlet.jsp.tagext.TagAdapter
child of javax.servlet.jsp.tagext.TagAdapter
child of javax.servlet.jsp.tagext.TagAdapter
MyTag
est une classe Java et donc je peux obtenir le nom de getName()
. Malheureusement ni Tag
ni TagAdapter
ne me donnent des méthodes pour trouver le nom de l'étiquette réelle. Class.getName()
renvoie uniquement javax.servlet.jsp.tagext.TagAdapter
si les étiquettes sont .tag
. Je comprends que les fichiers .tag
finissent par être convertis en fichiers .java
, puis compilés en fichiers .class
. Donc, si j'ai une étiquette appelée awesome.tag
alors le fichier correspondant est awesome_tag.java
. Je ne comprends pas pourquoi ce nom ne s'affiche pas lorsque j'appelle getName()
.
Merci @fd! Ça a marché. –