【问题标题】:Java: How do you declare nested map in spring framework?Java:如何在 Spring 框架中声明嵌套映射?
【发布时间】:2009-06-05 18:37:24
【问题描述】:

例如,您将如何声明一个三元组映射-

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

直到现在我才知道-

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

编辑:

好的,这就是我想要减少大量 if 语句的方法。

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

非常感谢。

【问题讨论】:

    标签: java spring map


    【解决方案1】:

    也许这会起作用:

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

    【讨论】:

    • Map 但不是来自这个结构吗,第一个键的值也是一个映射,第二个键的值也是如此你的代码 sn-p,值是第一个地图的字符串?
    • 哎呀,我忘了从第一张地图中删除“值类型”属性。这是不是更像你要找的东西?
    【解决方案2】:

    你真的得到了 Adam 的代码来编译吗?我必须删除外部值标签才能使其正常工作。

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

    或者我错过了什么? =)

    【讨论】:

    • 同意,我也必须摆脱外部价值标签。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-31
    • 1970-01-01
    • 1970-01-01
    • 2016-12-31
    • 2014-01-01
    • 1970-01-01
    • 2016-12-12
    相关资源
    最近更新 更多