如何在ftl中迭代地图内的列表?

时间:2014-08-22 09:58:09

标签: java iterator freemarker

我有两个值对象,我必须使用自由标记写一个文件,而我正在使用简单的java编写它我能够迭代列表但不知道如何迭代一个由变量组成的映射以及清单。在我的一个值对象BranchArea中,我有变量,如name和id以及Branch列表。 Branch是另一个值对象,它作为一个变量,如名称等。我正在像这样的

在java中迭代
List <BranchArea> branchAreaList = new ArrayList<BranchArea>();
Iterator<BranchArea> itrBranchArea = branchAreaList.iterator();
                while (itrBranchArea.hasNext()) {
                    BranchArea branchAreaObj = itrBranchArea.next();
                    LOGGER.error("Branch Area Name is"+branchAreaObj.getBranchAreaName());
                      Iterator<Branch> itrBranch = branchAreaObj.getBranches().iterator();   
                      while(itrBranch.hasNext()){
                          Branch branchObj = itrBranch.next();
                          LOGGER.error("Branch Name is"+branchObj.getBranchName());
                          }
                          }

branchAreaList BranchArea的Consist对象。对于Ftl,我将branchAreaList转换为map

HashMap<String, List<BranchArea>> branchAreaMap = new HashMap<String,  List<BranchArea>>();

            branchAreaMap.put("branchAreaList", branchAreaList);

我如何在Ftl中迭代它们,因为我在上面迭代它

1 个答案:

答案 0 :(得分:0)

您可以迭代Map的键,并通过这种方式获取元素:

  <#list branchAreaMap?keys as key>
        ${key} = ${branchAreaMap[key])}
    </#list>