在 Freemarker 中迭代 hashmap 的 mongodb 结果

Iterate hashmap's mongodb result in Freemarker

我是 java 和 mongodb 的新手,我不知道如何解决这个问题,我有一个 collection:

{
    "_id" : "20minutos",
    "active" : true,
    "group" : "20 Minutos",
    "domains" : [
            "20minutos.com",
            "20minutos.es",
            "20minutos.tv"
    ]

}

java代码:

get("/pages/:page", (request, response) -> {
        String page = request.params(":page");
        if(page.equals("forms")){
            UserDAO userDao = new UserDAO(Connection.getInstance().getDataStore());
            HashMap<String,Object> map = new HashMap<String,Object>();
            map.put("users", userDao.AllUsers());
            return new ModelAndView(map, page+".ftl");
        }else{
            return new ModelAndView(null, page+".ftl");
        }
    }, new FreeMarkerEngine());

我的 AllUsers() 函数

public List<User> AllUsers() throws Exception{      
    return this.find().asList();
}

pojo 类,域

public List<String> getDomains() {
    return domains;
}

和freemarker代码

<#list users as data>
<tr class="odd gradeX">
    <td>${data._id}</td>
    <td>${data.active?string('yes', 'no')}</td>
    <td>${data.group}</td>
    <#assign x = ''>
    <#assign keys = data?keys>
    <#list keys as key>
      <#assign x = x+','+key>
    </#list>
    <td>${x}</td>
</tr>

问题是我无法访问域的值

希望有人能帮助我

提前谢谢你

如果您想列出用户域,您可以使用 join:

<td>${data.domains?join(",")}</td>