gpt4 book ai didi

java - 如何找出 Java 中 JSP 标签的名称?

转载 作者:太空宇宙 更新时间:2023-11-04 08:51:36 25 4
gpt4 key购买 nike

目前我有以下代码:

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() 获取名称。不幸的是,TagTagAdapter 都没有给我提供查找实际标签名称的方法。如果标签是 .tag 文件,Class.getName() 仅返回 javax.servlet.jsp.tagext.TagAdapter。据我所知, .tag 文件最终会转换为 .java 文件,然后编译为 .class 文件。因此,如果我有一个名为 awesome.tag 的标签,那么相应的文件就是 awesome_tag.java。我不明白为什么当我调用 getName() 时这个名称没有显示。

最佳答案

你可以尝试:

String name = tag.getClass().getName();
if (tag instanceof TagAdapter) {
name = ((TagAdapter)tag).getAdaptee().getClass().getName();
}
parents.append("child of ").append(name).append("\n");

关于java - 如何找出 Java 中 JSP 标签的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3199829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com