将两个 freemarker 散列与 table 中的相同键结合起来
Combine two freemarker hash with same key inside table
我的两个hash/maps如下。我想从第一张地图和第二张地图中获取key对应的值,然后将它们添加到table
地图1
[
{
“关键”:“1”,
“价值”:“土豆”
},
{
“关键”:“2”,
“价值”:“寒冷”
}
]
地图2
[
{
“关键”:“1”,
“价值”:“苹果”
},
{
“关键”:“2”,
“价值”:“李子”
}
]
我想要时尚的数据,这样我就可以同时从两个地图中获取相同键的数据
<#list map1+map2?keys as key>
<tr>
<td>${key}</td>
<td >${map1[key]}</td>
<td >${map2[key]}</td>
</tr>
</#list>
我知道我做错了什么,但无法处理代码。有人可以帮忙吗?
为了能够使用 built-in ?keys
,您需要将地图连接括起来,所以 (map1 + map2)?keys
。此外,如果映射不相等,您可能希望通过在表达式后缀 !"default value"
来检查空值,或者如果您不想使用默认值,则只需 !
即可:
<#assign map1 = { "1": "Potato", "2": "Chilly" } >
<#assign map2 = { "1": "Apple", "2": "Plum", "3": "Extra" } >
<#list (map1 + map2)?keys as key>
<tr>
<td>${key}</td>
<td>${map1[key]!}</td>
<td>${map2[key]!}</td>
</tr>
</#list>
另请参阅:
- Freemarker - default value for variable that may be missing or blank?
我的两个hash/maps如下。我想从第一张地图和第二张地图中获取key对应的值,然后将它们添加到table
地图1 [ { “关键”:“1”, “价值”:“土豆” }, { “关键”:“2”, “价值”:“寒冷” } ]
地图2 [ { “关键”:“1”, “价值”:“苹果” }, { “关键”:“2”, “价值”:“李子” } ]
我想要时尚的数据,这样我就可以同时从两个地图中获取相同键的数据
<#list map1+map2?keys as key>
<tr>
<td>${key}</td>
<td >${map1[key]}</td>
<td >${map2[key]}</td>
</tr>
</#list>
我知道我做错了什么,但无法处理代码。有人可以帮忙吗?
为了能够使用 built-in ?keys
,您需要将地图连接括起来,所以 (map1 + map2)?keys
。此外,如果映射不相等,您可能希望通过在表达式后缀 !"default value"
来检查空值,或者如果您不想使用默认值,则只需 !
即可:
<#assign map1 = { "1": "Potato", "2": "Chilly" } >
<#assign map2 = { "1": "Apple", "2": "Plum", "3": "Extra" } >
<#list (map1 + map2)?keys as key>
<tr>
<td>${key}</td>
<td>${map1[key]!}</td>
<td>${map2[key]!}</td>
</tr>
</#list>
另请参阅:
- Freemarker - default value for variable that may be missing or blank?