Velocity模板引擎中只有一个#foreach指令支持循环的遍历,每次都是循环一次。

但有时候会遇到在一行里面显示两列数据,也就是说需要在一次循环中读取两条数据,这就涉及到步长的概念。Velocity模板引擎的#foreach指令不支持设置步长,但可以通过下面的方式实现自定义步长:

## 假定$datas为传递到模板引擎的数组

#set($step = 0) ## 设置步长

#set($length = $datas.size()) ## velocity中数组的长度是size()而非length

#foreach($count in [1..$length])

#if($count %2 != 0)

#if($step < $length)

#set($data = $datas.get($step);

#else

#set($data = '')

#end

姓名:$!data.name 年龄:$!data.age

#if($step < $length)

#set($data = $datas.get($step);

#else

#set($data = '')

#end

姓名:$!data.name 年龄:$!data.age

#end

#end

在Velocity中,数组会转成类是List的类型,所以获取数组长度使用$datas.size()而不是$datas.length,通过下标获取元素的方式使用$datas.get($step),而不是$datas[$step]。

通过以上方式就是在Velocity模板引擎中实现自定义步长,虽然有些繁琐但是非常有效的。

java for步长_Velocity模板循环支持自定义步长相关推荐

  1. jodconverter水印java,OpenOffice实现Office转Pdf(支持自定义添加水印、页眉、页脚)

    java OpenOffice officetopdf 最近项目需要实现下载Office文档时自动转成PDF文档,以下代码支持2003及2007版的Word,PPT,Excel转换,并支持自定义添加水 ...

  2. java用JBarcode组件生成条形码(支持自定义字体及颜色)

    前言: JBarcode入门教程我就不写了,可以参考:点击打开链接 我的这篇教程和上篇博客的不同之处: 1 上篇博客直接生成二维码图片放到d盘的某个文件夹下,我的二维码生成二维码后直接用Base64编 ...

  3. java用JBarcode组件生成条形码(支持自定义字体及颜色),图文详解之2-1

    前言: JBarcode入门教程我就不写了,可以参考:点击打开链接 我的这篇教程和上篇博客的不同之处: 1 上篇博客直接生成二维码图片放到d盘的某个文件夹下,我的二维码生成二维码后直接用Base64编 ...

  4. JAVA动态生成excel模板;列自定义下拉框赋值

    哈喽,2023大家开工大吉啊!财源滚滚! 业务需求:需要生成excel模板,且对部分列设置下拉框,进行动态赋值,效果如下: 拿上图举例:针对省这一列,不是填写,而是选择数据,也就是说我们生成excel ...

  5. Java导出PDF文档(模板导出和自定义)

    项目场景: 需要导出PDF文档,支持模板导出和自定义文档格式. 场景分析: PDF模板创建可使用表单域创建表单字段,引入数据填充,或者根据实际需要生成html转换成pdf. 解决方案: PDF模板可以 ...

  6. AllsitePasswd 全站密码访问插件 支持自定义主题模板

    简介: AllsitePasswd 是一款启用全站密码访问插件,支持自定义主题模板:@呆滞 欢迎 fork,start 说明: 插件默认自带一套模板 用户可以自定义模板,把你的html模板文件放进th ...

  7. 产品周报第30期|编辑器支持自定义写作模板;MarkDown编辑器接入质量分检测功能;CSDN APP V5.2.0版本发布

    hello,大家好,这里是「CSDN产品周报」第30期.本次更新主要涉及博客.首页和CSDN APP,欢迎大家详细了解和使用. 博客产品体验优化 一.编辑器新增自定义模板创建功能 每个人都有自己的写作 ...

  8. Java工具-获取某月份天数、某月最后一天、某月工作日天数(支持自定义节假日)

    Java工具-获取某月份天数.某月最后一天.某月工作日天数(支持自定义节假日) 因为之前在项目中有一个工作日志的功能,所以在网上找了一些相关的工具类,都是零零散散,我在这总结一下.废话不多说,上代码! ...

  9. 基于Java的一款磁力搜索工具,支持自定义xpath

    介绍 基于SpringBoot.Xsoup.Jsoup.OKhttp3 的一款磁力搜索工具,支持自定义xpath语法规则,并集成了Swagger文档. 开始使用 首先下载源代码或者打包后的jar包. ...

  10. php 模板 自定义函数调用,thinkphp模板中使用自定义函数

    注意:自定义函数要放在项目应用目录/common/common.php中. 这里是关键. 模板变量的函数调用格式:{$varname|function1|function2=arg1,arg2,### ...

最新文章

  1. python生成试卷制卷系统_Python 读写文件 小应用:生成随机的测验试卷文件
  2. 在CentOS 6.3 64bit上安装tsar并监控Apache Traffic Server
  3. 46. AngularJS所有版本下载
  4. Sql Server系列:数据库操作
  5. 对于数组,为什么会出现a [5] == 5 [a]?
  6. 用逻辑门制作出加法器
  7. shinelon笔记本进bios设置u盘启动_U盘启动快捷键、开机进BIOS按键查询
  8. linux安装mysql5.7.18_Linux下安装mysql5.7.18版本步骤
  9. react安装_超全面详细一条龙教程!从零搭建React项目全家桶(上篇)
  10. KeyError: ‘segment_ids paddlehub中出现segement_ids错误解决方案
  11. 北冥有 Data,其名为鲲,鲲之大,一个 MySQL 放不下!
  12. gifcam使用缩小内存_Vuex3.1.1更新:支持jsDelivr,修复内存泄漏
  13. 一个js编写全选、弹出对话框、ajax-json的案例
  14. 自动驾驶 8-0: 状态估计的重要 The Importance of State Estimation
  15. 常用html页面设计工具,网站前端开发常用工具大全-web设计师必备
  16. java我的世界非正常退出_我的世界非正常退出怎么办???
  17. 【进阶实战】用PaddlePaddle检测空气质量
  18. Python中的字典该怎么用,看这一篇就够了(结尾有惊喜)
  19. Win10更新导致无法使用局域网共享打印机最佳解决方案
  20. 程序员免费学英语,省几万培训费!

热门文章

  1. 32768HZ晶振不起振
  2. 学习python应用,初识python怎样的感受?
  3. 【Web前端】京东商城项目实战HTML+CSS+JavaScript
  4. Tomcat 安装Namecheap SSL证书教程
  5. RabbitMQ启动失败解决
  6. 英语四级口语考试计算机考吗,英语四级口试必须考吗 不考会怎样
  7. Shell脚本-Dong
  8. 网上处方药物手册Rxlist 及其药学信息资源
  9. 三大移动终端操作系统比较
  10. 路由器自动重启指令_如何按计划自动重启路由器,简便方法