看到很多文章关于Velocity 在#foreach中的操作都是通过$velocityCount 获取到循环的次数,但是在新版的中官方是删除了$velocityCount 这个属性,以至于无法渲染下标。
引用官方更新日志:[VELOCITY-704] VTL Simplicity - "Control" objects - ASF JIRA
发布 2.0 - 2017-08-06
删除 1.7 中弃用的功能($velocityCount、$velocityHasNext、velocimacro.context.localscope、directive.evaluate.context.class 和所有内部支持代码(ProxyVMContext、EvaluateContext 等)。修复VELOCITY-704。
最新的使用方法如下:
#foreach ($config in $configs)
$foreach.index //下标
$foreach.count //数组长度
$foreach.first
$foreach.last
$foreach.hasNext //是否是最后一个
#end
尾部不加逗号示例:
#foreach ($config in $configs)
data class ${config.name}Config(
#foreach ($column in $config.columns)
val ${column.attrNameMin}: ${column.attrType} #if($foreach.hasNext), #end //$column.columnComment
#end
)
#end