如何找出 Java 中 JSP 标签的名称?
目前我有以下代码:
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
都没有给我提供查找实际标签名称的方法。如果标签是 .tag
文件,Class.getName()
仅返回 javax.servlet.jsp.tagext.TagAdapter
。据我所知, .tag
文件最终会转换为 .java
文件,然后编译为 .class
文件。因此,如果我有一个名为 awesome.tag
的标签,那么相应的文件就是 awesome_tag.java
。我不明白为什么当我调用 getName()
时这个名字没有出现。
Currently I have the following code:
Tag tag = getParent();
while(tag != null) {
parents.append("child of ")
.append(tag.getClass().getName())
.append("\n");
tag = tag.getParent();
}
when this runs, I get the following:
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
is a Java class and so I can get the name from getName()
. Unfortunately neither Tag
nor TagAdapter
give me methods to find out the name of the actual tag. Class.getName()
only returns javax.servlet.jsp.tagext.TagAdapter
if the tags are .tag
files. I understand that the .tag
files eventually get converted to .java
files and then compiled into .class
files. So if I have a tag called awesome.tag
then the corresponding file is awesome_tag.java
. I don't understand why this name doesn't show up when I call getName()
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你可以尝试:
You could try: