velocity第五个应用例子---获得当前迭代的索引

黄舟
黄舟 原创
2023-03-04 21:30:02 1333浏览

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中文网(m.sbmmt.com)!


声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。