在使用 FreeMarker 模板引擎来生成文件时,经常会使用到 list 标签用于循环生成。

有时会遇到需要处理末尾符号的情况,比如 Json 文件,循环生成的标签中末尾是不需要 , 的,例如:

"points": [
{
"x": 1,
"y": 1
},
{
"x": 2,
"y": 2
}
]

此时可以用 list 标签内置的 has_next 属性处理:

"points": [
<#list pointList as point>
{
"x": ${point.x},
"y": ${point.y}
}<#if point_has_next>,</#if>
</#list>
]

注意:has_next 属性前的名称必须为循环的单项名称,比如上面的 point。

FreeMarker 去除循环末尾的符号的更多相关文章

  1. JS去除字符串拼接末尾的符号(逗号)

    前言:在JS中,有时需要进行字符串的拼接,而拼接的字符串以某种符号分隔,在拼接好的字符串末尾会多出一个分隔符,这时我们可以采取以下几种方法来去除末尾的分隔符. 方法一:使用substring()  和 ...

  2. python 去除字符串末尾的子串

    建议使用 "字符串".replace("要去除的字符串", "") 尽量不要使用 strip() ,有时会引入意想不到的结果.strip() ...

  3. Freemarker的循环通过assign指令引入计数变量

    这里是一个jeecms框架的前台的一个内容列表集,因为不是每个内容子项符合要求,而且需要统计符合要求的子项个数,仿照java的for循环,需要在循环前声明一个计数变量,这就需要使用Freemaker的 ...

  4. 去除Bigdecimal末尾的.00

    String total = new BigDecimal("100.00").stripTrailingZeros().toPlainString();

  5. Freemarker 输出$和html标签等特殊符号

    场景:程序员都不喜欢看文档,而更喜欢抄例子.所以,我们把平台组的组件都做成例子供别人参考.我们前端展示层使用的是freemarker,所以 遇到这个问题,比如我们要让前端显示freemarker自己的 ...

  6. 【转】Freemarker输出$和html标签等特殊符号

    原文:http://blog.csdn.net/achilles12345/article/details/41820507 场景:程序员都不喜欢看文档,而更喜欢抄例子.所以,我们把平台组的组件都做成 ...

  7. Recurrent Neural Networks(RNN) 循环神经网络初探

    1. 针对机器学习/深度神经网络“记忆能力”的讨论 0x1:数据规律的本质是能代表此类数据的通用模式 - 数据挖掘的本质是在进行模式提取 数据的本质是存储信息的介质,而模式(pattern)是信息的一 ...

  8. 0912 for循环及内置方法

    目录 for 循环 1.循环 2.循环取值 3.range 4.for + break 5.for+continue 6.for + else 数字类型内置方法 整型 浮点型 字符串 1.作用 2.作 ...

  9. Linux shell循环

    条件测试 格式 test condition 或 [ condition ] 使用方括号时,要注意在条件两边加上空格,如果有操作符,运算符之间也必须有空格 测试状态:测试的结果可以用$?的值来判断,0 ...

  10. 《ArcGIS Engine+C#实例开发教程》第七讲 图层符号选择器的实现2

    原文:<ArcGIS Engine+C#实例开发教程>第七讲 图层符号选择器的实现2 摘要:在第七讲 图层符号选择器的实现的第一阶段中,我们完成了符号选择器窗体的创建与调用.在第二阶段中, ...

随机推荐

  1. 名校 AI 课程|斯坦福 CS25:Transformers United 专题讲座

    自 2017 年提出后,Transformer 名声大噪,不仅颠覆了自然语言处理(NLP)领域,而且在计算机视觉(CV).强化学习(RL).生成对抗网络(GANs).语音甚至是生物学等领域也大显锋芒, ...

  2. ABP Suite模块项目中设置菜单及其多语言

    1.Blazor的菜单构造的类 ABP Suite自动生成的是这样: 2.从Study.Trade.Web的Menus下拷贝内容过来后 3.TradeMenus中增加一个常量 4.启动程序 单击Tra ...

  3. 【Azure API 管理】APIM不能连接到 App Service (APIM cannot connect to APP service)

    问题描述 APIM 无法正确连接到App Service,返回500错误: { "statusCode": 500, "message": "Inte ...

  4. 自定义ConditionalOnXX注解(二)

    一.前言 在之前的文章<自定义ConditionalOnXX注解>中,介绍了Conditional注解的实现原理和实现自定义Conditional注解的基础方法,但是有些场景我们需要用一个 ...

  5. 使用C#和MemoryCache组件实现轮流调用APIKey以提高并发能力

    文章信息 标题:使用C#和MemoryCache组件实现轮流调用API Key以提高并发能力的技巧 摘要:本文介绍了如何利用C#语言中的MemoryCache组件,结合并发编程技巧,实现轮流调用多个A ...

  6. FreeRTOS教程4 消息队列

    1.准备材料 正点原子stm32f407探索者开发板V2.4 STM32CubeMX软件(Version 6.10.0) Keil µVision5 IDE(MDK-Arm) 野火DAP仿真器 XCO ...

  7. Hamming(汉明)窗的原理介绍及实例解析

    概念   在数字信号处理过程中,每次FFT变换只能对有限长度的时域数据进行变换,因此,需要对时域信号进行信号截断.即使是周期信号,如果截断的时间长度不是周期的整数倍(周期截断),那么,截取后的信号将会 ...

  8. Tomcat异常之 Exception loading sessions from persistent storage解决方案

    启动项目时报以下异常 严重: Exception loading sessions from persistent storage java.io.EOFException 遇到上述异常,删除Tomc ...

  9. 专访惠众科技|元宇宙应用如何借助3DCAT实时云渲染实现流畅大并发呈现?

    当前互联网流量红利已经逐渐消失,营销同质化愈发严重.在这样的背景下,催生了以元宇宙为焦点的虚拟产业经济.元宇宙在各行各业中以不同形式快速萌生.成长,呈现出多元化的应用场景.尤其是众多品牌,将元宇宙视为 ...

  10. windows 10 wsl 环境 docker 无法正常启动 -The system cannot find the file specified

    错误信息: error during connect: in the default daemon configuration on Windows, the docker client must b ...