6

4 行目に次のようなエラーが表示されます: cvc-complex-type.2.4.d: Invalid content was found starting with element '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> 

助言がありますか?

4

2 に答える 2

11

複雑な値の型の場合は、マップ要素をネストせず、代わりにvalue-ref属性を使用してください。デフォルトでは、value要素は値のみを受け入れStringます。

プロパティは文字列の場合もあれば、JavaBeans PropertyEditor 機構を使用して必要な型に変換する場合もあります。これにより、アプリケーション開発者は、文字列を任意のターゲット オブジェクトに変換できるカスタム PropertyEditor 実装を作成できます。

これは単純なオブジェクトに対してのみ推奨されることに注意してください。JavaBean プロパティに他の Bean への参照を設定することにより、より複雑なオブジェクトを構成します。

データは次のようになります。

<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>
于 2009-06-08T08:09:39.587 に答える
2
<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>
于 2009-06-08T06:15:34.933 に答える