В настоящее время у меня есть следующий код:
Tag tag = getParent();
while(tag != null) {
parents.append("child of ")
.append(tag.getClass().getName())
.append("\n");
tag = tag.getParent();
}
, когда он запускается, я получаю следующее:
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
- это класс Java, поэтому я могу получитьимя от getName()
.К сожалению, ни Tag
, ни TagAdapter
не дают мне способов узнать имя фактического тега.Class.getName()
возвращает javax.servlet.jsp.tagext.TagAdapter
, только если тегами являются .tag
файлы.Я понимаю, что файлы .tag
в конечном итоге преобразуются в файлы .java
, а затем компилируются в файлы .class
.Поэтому, если у меня есть тег с именем awesome.tag
, соответствующий файл будет awesome_tag.java
.Я не понимаю, почему это имя не появляется, когда я звоню getName()
.