3

Spring Bean xml で enum マップを定義しようとしていますが、xml に入力したいのですが、このように定義しようとすると

<bean class = "java.util.EnumMap">
    <constructor-arg>
        <util:map key-type="org.itemlist.products.stockitem">
            <entry key="stockitem.SOAP">100</entry>
        </util:map> 
    </constructor-arg>

アップデート

ここに私の豆の設定があります

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:util="http://www.springframework.org/schema/util"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.0.xsd
    http://www.springframework.org/schema/util 
    http://www.springframework.org/schema/util/spring-util-3.0.xsd">


    <bean class = "java.util.EnumMap">
        <constructor-arg>
            <util:map key-type="org.itemlist.products.stockitem">
                <entry key="stockitem.SOAP">100</entry>
            </util:map> 
        </constructor-arg>
    </bean>

</beans>

エントリ内に値を追加すると、これがエラーになります

cvc-complex-type.2.3: Element 'entry' cannot have character [children], because the type's content type is element-only.
4

3 に答える 3

5

ヘッダーでこれらのスキーマを定義しましたか:

http://www.springframework.org/schema/util 
http://www.springframework.org/schema/util/spring-util-3.0.xsd

そして名前空間:

xmlns:util="http://www.springframework.org/schema/util"
于 2013-02-20T02:32:04.737 に答える
0

このエラー メッセージは、entry要素が空でなければならない、つまり、テキストやその他の要素が含まれていないことを意味します。必要な構文は次のとおりです。

<entry key="stockitem.SOAP" value="100"/>

このentry要素を使用すると、別の Bean への参照を値として渡すこともできます。

<entry key="stockitem.SOAP" value-ref="myOtherBean"/>

(これはあなたの状況では役に立ちません。完全を期すために言及しています)

于 2013-11-01T06:01:57.633 に答える