2009-06-05 5 views
3

Zum Beispiel, wie würden Sie eine dreifache Karte wie-Java: Wie deklariert man eine verschachtelte Map im Spring-Framework?

Map<String, Map<String, Map<Boolean, String>>>, with the keys being someKey1, someKey2, and someKey3 (true/false)? 

erklären Ich weiß bis this-

<util:map 
    id="someMap" 
    map-class="java.util.HashMap" 
    key-type="java.lang.String" 
    value-type="java.lang.String"> 
     <entry key="someKey1" value="someValue" /> 
</util:map> 

EDIT:

Ok, das ist, was ich zu reduzieren tun wollen Tonnen von if-Aussagen.

123: //some key 1 

    abc: //some key 2 

    true: //some key 3 

     a //some value 

    false: //some key 3 

     b //some value 


456: 

    def: 

    true: 

     c 

    false: 

     d 

Vielen Dank.

Antwort

6

Vielleicht wäre diese Arbeit:

<util:map id="someMap"> 
    <entry key="123"> 
     <value> 
      <map> 
       <entry key="abc"> 
        <value> 
         <map key-type="java.lang.Boolean"> 
          <entry key="true" value="a"/> 
          <entry key="false" value="b"/> 
         </map> 
        </value> 
       </entry> 
      </map> 
     </value> 
    </entry> 
    <entry key="456"> 
     <value> 
      <map> 
       <entry key="def"> 
        <value> 
         <map key-type="java.lang.Boolean"> 
          <entry key="true" value="c"/> 
          <entry key="false" value="d"/> 
         </map> 
        </value> 
       </entry> 
      </map> 
     </value> 
    </entry> 
</util:map> 
+0

Map Aber ist es nicht von dieser Struktur, der Wert für den ersten Schlüssel ist auch eine Karte und das gleiche gilt für den zweiten Code in Ihrem Code-Snippet , ist der Wert ein String für die erste Karte? –

+0

Hoppla, ich habe vergessen, dieses "Werttyp" -Attribut von der ersten Karte zu entfernen. Ist das ein wenig mehr wie das, wonach Sie suchen? –

+0

Ich habe hinzugefügt, was ich brauche. Wirklich danke für die Antwort. –

5

Hast du wirklich Adams Code zu kompilieren? Ich musste die äußeren Wertmarken entfernen, damit es funktioniert.

<util:map id="someMap"> 
    <entry key="123">   
     <map> 
      <entry key="abc"> 
       <map key-type="java.lang.Boolean"> 
        <entry key="true" value="a"/> 
        <entry key="false" value="b"/> 
       </map>   
      </entry> 
     </map>   
    </entry> 
    <entry key="456"> 
     <map> 
      <entry key="def"> 
       <map key-type="java.lang.Boolean"> 
        <entry key="true" value="c"/> 
        <entry key="false" value="d"/> 
       </map> 
      </entry> 
     </map> 
    </entry> 
</util:map> 

Oder fehlt mir etwas? =)

+2

Einverstanden, ich musste auch die äußeren Wertmarken loswerden. Vielen Dank –