Direkter Zugriff auf den Java-basierten DOM-Baum über JSF / richfaces

Beyogen aufdiese Frage Ich habe noch ein paar andere Fragen:

1) die karte in dieser frage, die jsf zur verfügung gestellt wird, ist tatsächlich eine nummer, daher bin ich mir jetzt nicht sicher, wie der rückgabetyp der backing bean-methode jetzt lauten soll. Wenn ich es ändere, ist es aktuellArray<String> Rückgabetyp anArray<Map Integer, Map<String, String[]>>> (oderArrayList<Map Integer, Map<String, String[]>>> ?) wäre es nur eine weitere Verschachtelung des Iterators auf der jsf-Seite? Das Problem ist, dass ein Array / eine ArrayList keine Map ist, und ich bin mir nicht sicher, wie dies dann in jsf aussieht. Wäre das richtig:

<c:forEach items="#{bean.map}" var="entry">                     <!-- array -->
  <c:forEach items="#{entry.value}" var="nentry">               <!-- map -->
    <h:outputText value="Key: #{nentry.key}, Values:" />        <!-- integer -->
    <c:forEach items="#{nentry.value}" var="nnentry">           <!-- sub map -->
      <h:outputText value="Key: #{nnentry.key}, Values:" />     <!-- string -->
      <c:forEach items="#{nnentry.value}" var="nnnentry">       <!-- string[] -->
        <h:outputText value="#{nnnentry}" />
      </c:forEach><br />
    </c:forEach><br />
  </c:forEach><br />
</c:forEach>

?

2) Was ich wirklich in dieser Map speichere, sind Xpath-Rips aus einem XML-DOM-Baum, der auf der Java-Seite analysiert wurde. Ich denke jetzt, ich kann direkt von JSF aus auf diesen Java-basierten DOM-Baum zugreifen, ohne XPath -> ArrayOfMaps verwenden und das zurückgeben zu müssen. Gibt es in einer XML-Datei, die ungefähr so aussieht, einen besseren Weg als die obige Methode ?:

 <test>                                              
  <testid>1</testid>                          
  <testname>myName</testname>

  <inst>                                      
   <id>1</id>                  
   <src>C:\my\path</src>               
   <mask>.*\.\w{3}</mask>      
   <mask>.*\.x</mask>          
  </inst>

  <inst>                                      
   <id>2</id>                  
   <src>C:\my\otherpath</src>               
   <mask>.*\.\w{3}</mask>      
   <mask>.*\.x</mask>          
  </inst>
</test>

Nochmals vielen Dank Mark

Antworten auf die Frage(2)

Ihre Antwort auf die Frage