velocity第五个应用例子---获得当前迭代的索引
程序员文章站
2024-02-14 23:25:40
...
velocity第五个应用例子---获得当前迭代的索引
#foreach($key in $map.keySet()) $velocityCount > $key : $map.get($key) #end $velocityCount获得当前迭代索引 velocityCount变量名可以通过directive.foreach.counter.name属性修改, 如:directive.foreach.counter.name=index,以后可以通过$index进行访问。 迭代的索引默认从1开始,我们可以通过directive.foreach.inital.value=0进行修改。
控台输出
1> key4 : value4 2> key3 : value3 3> key2 : value2 4> key1 : value1
修改索引变量名
在属性文件增加配置
#修改索引变量名 directive.foreach.counter.name=index index.vm #foreach($key in $map.keySet()) $index >>> $key : $map.get($key) #end #修改迭代索引的默认值 directive.foreach.counter.initial.value=0
模板
#foreach($key in $map.keySet()) $index >>> $key : $map.get($key) #end
控台输出
0 >>> key4 : value4 1 >>> key3 : value3 2 >>> key2 : value2 3 >>> key1 : value1 //2 Create aContext object VelocityContextcontext = new VelocityContext(); //3 Add you dataobjects to this context Map<String,String>map = new HashMap<String,String>(); map.put("key1","value1"); map.put("key2","value2"); map.put("key3","value3"); map.put("key4","value4"); context.put("map",map); //4 Choose atemplate Templatetemplate = Velocity.getTemplate("index.vm"); //5 Merge thetemplate and you data to produce the output StringWriter sw= new StringWriter(); template.merge(context,sw); sw.flush(); System.out.println(sw.toString());
模板
#foreach($keyin $map.keySet()) $velocityCount > $key : $map.get($key) #end ============= #foreach($keyin $map.keySet()) $index >>> $key :$map.get($key) #end
以上就是velocity第五个应用例子---获得当前迭代的索引的内容,更多相关内容请关注PHP中文网(www.php.cn)!