Freemarker,Maps和Mongo。从嵌套结构中获取值

时间:2011-07-21 11:53:11

标签: java maps mongodb freemarker

我有一个Mongo数据库,我正在制作一个小型Web应用程序来显示数据库中的值。从嵌套结构中获取值时遇到一些问题。

我的数据库结构是:

{ 

    "_id": ObjectId("4e244ddcb1633b25c38f2155"),
    "id": "2173",
    "type": "P",
    "title": "Test title", 
    "tag": {
      "0": {
      "_id": ObjectId("4e244ddcb1633b25c38f1fc1"),
      "name": "Education",
      "id": "6"
 }
}  
}

我所做的是,我从数据库中获取数据库并将其放入地图中,并将此地图与其他几个地图放在一个地图(根)中,并将其放入.ftl页面。 然后,我可以读取.ftl中的值,如:$ {root.title},它将在上面的示例中打印出“测试标题”。

我现在可以在tage中获取name的值,以便它可以打印'Education'

我不知道怎么弄这个。任何想法。

1 个答案:

答案 0 :(得分:0)

您可以使用Freemarker内置的哈希值来访问该值。与下面类似:

<#assign tagKeys = root.tag?keys>
<#list tagKeys as tagKey>
    ${root.tag[tagKey].name}
</#list>

我还没有对此进行过测试,但一般来说这应该可行。您可能还想在SO上阅读以前的一些答案:

Freemarker iterating over hashmap keys