2013-04-22 82 views
0

我們有一個大項目,它使用我們創建的大量標籤,我們將重新考慮代碼的UI。這意味着許多tagx將被合併,丟棄並重寫視圖(jspx-s)。爲了能夠將重構因子委託爲合理的部分,而不會相互衝突,我們希望「映射」這些標記調用。如何在jspx中映射tagx調用?

有沒有一種簡單的方法或工具可以通過jspx/tagx文件並列出它們調用的tagx(不僅僅是庫,而是特定的tagx)?

因此,例如:在它的身上

create.jspx電話:

  • C:如果
  • 形式:創建
  • 形式:依賴
  • myowntaglib1:myowntag1
  • myowntaglibN:myowntagN
  • etc

和app列出了這一點。

回答

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(); 
    } 

流應該是對的FileInputStream FNAME文件。

除了顯示標籤名稱之外,您可以將它們放到HashMap中並在解析所有文件後顯示它們,這樣就不會重複。

+0

是的,我現在正在做它(當然,有些jspx-s遠不在「x」部分附近,我也必須進入tagx-s,因爲它們會調用其他tagx-s) – 2013-04-23 06:58:51