如何迭代字符串模板4映射的键和值?

时间:2015-08-25 19:54:07

标签: stringtemplate stringtemplate-4

在StringTemplate 4中,迭代的默认行为是迭代$('.staffInfo').hover(function(){ $(this).css('display', 'block'); }); 而不是keys,这是版本3中的行为。

我无法找到如何在版本4的同时迭代values keys的语法。

有人可以发布语法示例吗?

2 个答案:

答案 0 :(得分:6)

您可以使用间接属性引用来获取当前迭代中键的值。这是你的意思吗?

<myMap.keys:{k | <k> maps to <myMap.(k)>}; separator="\n">

打印:

Jake maps to Dog
Finn maps to Human

答案 1 :(得分:0)

样本输入:

List<String> myList  =  new ArrayList<>();
myList.add("k1");
myList.add("k2");
myList.add("k3");


Map<String,String> myMap =  new HashMap<>();
myMap.put("k1", "v1");
myMap.put("k2", "v2");
myMap.put("k3", "v3");
  • 以随机顺序打印键值对。

       $myMap.keys:{key | $key$  maps to $myMap.(key)$ }; separator="\n"$
    

输出:(随机顺序)

 k3 maps to v3
 k1 maps to v1
 k2 maps to v2
  • 按列表定义的顺序打印键值对。

      $myList:{item | $item$  maps to $myMap.(item)$ }; separator="\n"$
    

输出:(有序)

 k1 maps to v1
 k2 maps to v2
 k3 maps to v3