Home >Backend Development >PHP Tutorial >The fifth application example of velocity---get the index of the current iteration
Velocity fifth application example---get the index of the current iteration
#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进行修改。
Console output
1> key4 : value4 2> key3 : value3 3> key2 : value2 4> key1 : value1
Modify the index variable name
Add configuration in the properties file
#修改索引变量名 directive.foreach.counter.name=index index.vm #foreach($key in $map.keySet()) $index >>> $key : $map.get($key) #end #修改迭代索引的默认值 directive.foreach.counter.initial.value=0
Template
#foreach($key in $map.keySet()) $index >>> $key : $map.get($key) #end
Console output
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());
Template
#foreach($keyin $map.keySet()) $velocityCount > $key : $map.get($key) #end ============= #foreach($keyin $map.keySet()) $index >>> $key :$map.get($key) #end
The above is the fifth of velocity Application example---obtain the index content of the current iteration. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!