如何在jspx中映射tagx调用?

时间:2013-04-22 16:30:36

标签: java jsp-tags jspx tagx

我们有大型项目,它使用了我们创建的大量tagx,我们即将重新考虑基础代码的UI。这意味着许多tagx将被合并,抛弃并重写视图(jspx-s)。为了能够将重新分解成为合理的分数而不相互冲突,我们希望“映射”tagx调用。

是否有一种简单的方法或工具可以通过jspx / tagx文件并列出他们调用的tagx(不仅仅是库,而是特定的tagx)?

例如:

在其正文中调用create.jspx:

  • C:如果
  • 形式:创建
  • 形式:依赖关系
  • myowntaglib1:myowntag1
  • myowntaglibN:myowntagN

和app列出了这个。

1 个答案:

答案 0 :(得分: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();
    }

stream应该是fname文件的FileInputStream。

您可以将它们放到HashMap中,而不是显示标记名称,并在解析完所有文件后显示它们,然后就不会重复了。