欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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)!