0

我们有一个大型项目,它使用了我们创建的大量 tagx,我们即将重构 UI 的底层代码。这意味着许多 tagx 将被合并、丢弃并重写视图(jspx-s)。为了能够将重构委托为合理的部分而不会相互冲突,我们希望“映射” tagx 调用。

是否有一种简单的方法或工具可以遍历 jspx/tagx 文件并列出它们调用的 tagx(不仅是库,还包括特定的 tagx)?

例如:

create.jspx 在其主体中调用:

  • c:如果
  • 形式:创建
  • 形式:依赖
  • myowntaglib1:myowntag1
  • myowntaglibN:myowntagN
  • ETC

应用程序列出了这一点。

4

1 回答 1

0

最简单的方法是编写简单的 java 程序,递归地遍历目录搜索 jspx 文件,并使用 XML Parser,即。SAX 解析器监听

XMLStreamConstants.START_ELEMENT

然后显示

xmlReader.getName().getLocalPart();

示例代码:

    XMLInputFactory xmlFactory = XMLInputFactory.newInstance();
            List<TercCode> tercCodeList = new ArrayList<TercCode>();

            try {
                XMLStreamReader xmlReader = xmlFactory.createXMLStreamReader(fname, stream);

                while (xmlReader.hasNext()) {
                    // returns the event type
                    int eventType = xmlReader.next();

                    // returns event type for reference
                    if (xmlReader.getEventType() == XMLStreamConstants.START_ELEMENT){
System.out.println(xmlReader.getName().getLocalPart());
}
} catch (XMLStreamException e) {
        e.printStackTrace();
    }

对于 fname 文件,流应该是 FileInputStream。

您可以将它们放入 HashMap 并在解析所有文件后显示它们,而不是显示标签名称,这样您就不会得到重复项。

于 2013-04-22T17:10:54.890 回答