Domanda

ho un errore al 4 ° linea dicendo: CVC-complesso-type.2.4.d: il contenuto non valido è stato trovato a partire da elemento di 'mappa'. Nessun elemento figlio è atteso a questo punto.

  <util:map id="entirePayTypesMap">
            <entry key="34">
                <value>
                    <map>
                         <entry key="default">
                              <value>
                                 <map  key-type="java.lang.Boolean">
                                     <entry key="true" value="3T" />
                                     <entry key="false" value="3U" />
                                 </map> 
                              </value>
                         </entry>
                     </map> 
                </value>
            </entry>
    </util:map> 

Qualche suggerimento?

È stato utile?

Soluzione

Per i tipi di valore complessi, non nidificano l'elemento della mappa, invece utilizzare gli attributi value-ref. Per impostazione predefinita, gli elementi value accettano solo valori String.

  

La struttura può essere una stringa, o può essere convertito nel tipo richiesto usando il macchinario JavaBeans PropertyEditor. Questo rende possibile per gli sviluppatori di applicazioni per scrivere implementazioni PropertyEditor personalizzato in grado di convertire le stringhe di oggetti di destinazione arbitrari.

     

Si noti che questo è consigliato solo per gli oggetti semplici. Configurare oggetti più complessi popolando proprietà JavaBean con riferimenti ad altri fagioli.

I suoi dati saranno un aspetto simile:

<util:map id="mapA" key-type="java.lang.Boolean">
    <entry key="true" value="3T" />
    <entry key="false" value="3U" />
</util:map>
<util:map id="map1">
    <entry key="default" value-ref="mapA"/>
</util:map>

<util:map id="mapB" key-type="java.lang.Boolean">
    <entry key="true" value="4T" />
    <entry key="false" value="4U" />
</util:map>
<util:map id="map2">
    <entry key="default" value-ref="mapB"/>
</util:map>

<util:map id="entirePayTypesMap">
    <entry key="34" value-ref="map1"/>
    <entry key="35" value-ref="map2"/>
</util:map>

Altri suggerimenti

<util:map id="map1" map-class="java.util.HashMap" key-type="java.lang.String" value-type="java.util.HashMap">

<entry key="" value-ref="map2">

</util:map>



<util:map id="map2" map-class="java.util.HashMap" key-type="java.lang.String" value-type="java.util.HashMap">

<entry key="" value-ref="map3">

</util:map>



<util:map id="map3" map-class="java.util.HashMap" key-type="java.lang.String" value-type="java.lang.Boolean">

<entry key="" value="">

</util:map>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top