freemarker循环获取list中map的值
程序员文章站
2022-07-14 09:52:00
...
1.数据结构
List<Map<String,Object>> mapList = Lists.newArrayList();
Long originalOrderId = returnObj.getOriginalOrderId();
List<Long> orderIdList = Lists.newArrayList();
orderIdList.add(originalOrderId);
List<Item> itemList = itemService.listByOrderIdList(orderIdList);
for (Item item : itemList) {
Map<String,Object> map = Maps.newLinkedHashMap();
if(item != null){
Product product = item.getProduct();
if(product == null){
product = productService.get(item.getProductId());
}
if(product != null){
map.put("productName", product.getName());
}
List<SpecJsonItem> specList = item.getSpecItemList();
if(CollectionUtils.isEmpty(specList)){
specList = JSON.parseArray(item.getSpecJson(), SpecJsonItem.class);
}
if(CollectionUtils.isNotEmpty(specList)){
StringBuffer spec = new StringBuffer();
for (SpecJsonItem specJsonItem : specList) {
spec.append(specJsonItem.getName()).append(":").append(specJsonItem.getValue()).append(" ");
}
map.put("spec", spec);
}
}else{
item = new Item();
}
map.put("item", item);
mapList.add(map);
}
model.addAttribute("mapList", mapList);
2.前端页面循环
<#list mapList as map>
<tr class="product_${map_index}">
<td>商品名称:</td>
<td>${map['productName']}</td>
<td rowspan="2">商品图片:</td>
<td rowspan="2"><img src="${imageDomain}/${map['item'].pic}@200w"></td>
</tr>
<tr class="product_${map_index}">
<td>购买规格:</td>
<td>${map['spec']}</td>
</tr>
<tr class="product_${map_index}">
<td>购买价格:</td>
<td>${map['item'].price}</td>
<td>购买数量:</td>
<td>${map['item'].quantity}</td>
</tr>
</#list>
推荐阅读
-
在jsp页面如何获取Map里面某一个指定集合的值并循环打印
-
页面使用struts2标签获取List中的对象属性值,Struts2常用标签总结
-
【转载】C#中List集合使用GetRange方法获取指定索引范围内的所有值
-
freemarker循环获取list中map的值
-
el表达式获取jsp域对象、获取对象(获取时间使用逻辑视图)、List集合(可获取对象)、Map集合的值(可获取对象)
-
在jsp页面如何获取Map里面某一个指定集合的值并循环打印
-
【转载】 C#使用Select方法快速获取List集合集合中某个属性的所有值集合
-
怎么获取smarty模板中 foreach的最后一次循环的值
-
jquery获取下拉框中的循环值
-
JS获取循环表格中input的值,该怎么处理