在 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>
我是 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>