Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:Spring框架:声明嵌套映射_Java_Maps_Spring - Fatal编程技术网

Java:Spring框架:声明嵌套映射

Java:Spring框架:声明嵌套映射,java,maps,spring,Java,Maps,Spring,我在第四行看到一个错误,说: cvc复杂类型.2.4.d:发现以元素“map”开头的无效内容。此时不需要任何子元素 <util:map id="entirePayTypesMap"> <entry key="34"> <value> <map> <entry key="default">

我在第四行看到一个错误,说: cvc复杂类型.2.4.d:发现以元素“map”开头的无效内容。此时不需要任何子元素

  <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> 

有什么建议吗?


<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>

对于复杂的值类型,不要嵌套map元素,而是使用
value ref
属性。默认情况下,
value
元素只接受
String

属性可以是字符串,也可以使用JavaBeans PropertyEditor机制转换为所需类型。这使得应用程序开发人员可以编写自定义PropertyEditor实现,将字符串转换为任意目标对象

请注意,这仅建议用于简单对象。通过使用对其他bean的引用填充JavaBean属性来配置更复杂的对象

您的数据将类似于:

<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>

不可能。对于所有map2条目,如果为true,则该值将相同。