Freemarker 使用记录
1.数字超过1000时会有逗号 ,设置数据格式 <#setting number_format="#">
2.数据叠加 求总计:
1)定义变量:<#assign baseInfoTotalpower =0?number>
2)循环中判空后累加,每次累加需要将数据转为数字,不然最后结果会是字符串的拼接:
<#if info.deviceUsePower??>
<#assign baseInfoTotalpower = baseInfoTotalpower?number+deviceUsePower[info.deviceId]?number>
</#if>
3.设置默认值:<w:t>${deviceUsePower[info.deviceId]?default(0)}</w:t>
4.在word中合并单元格,例:
<#if info_index == 0 >
<w:tc>
<w:tcPr>
<w:tcW w:w="2522" w:type="dxa"/>
<w:vMerge w:val="restart"/>
<w:tcBorders>
<w:top w:val="single" w:color="000000" w:sz="6" w:space="0"/>
<w:left w:val="single" w:color="000000" w:sz="6" w:space="0"/>
<w:bottom w:val="single" w:color="000000" w:sz="12" w:space="0"/>
<w:right w:val="single" w:color="000000" w:sz="6" w:space="0"/>
</w:tcBorders>
<w:vAlign w:val="center"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:widowControl/>
<w:jc w:val="center"/>
<w:textAlignment w:val="center"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="Times New Roman"/>
<w:color w:val="000000"/>
<w:kern w:val="0"/>
<w:szCs w:val="21"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="Times New Roman"/>
<w:color w:val="000000"/>
<w:kern w:val="0"/>
<w:szCs w:val="21"/>
</w:rPr>
<w:t>0.</w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:hint="eastAsia" w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="Times New Roman"/>
<w:color w:val="000000"/>
<w:kern w:val="0"/>
<w:szCs w:val="21"/>
</w:rPr>
<w:t>85</w:t>
</w:r>
</w:p>
</w:tc>
<#else>
<w:tc>
<w:tcPr>
<w:tcW w:w="2522" w:type="dxa"/>
<w:vMerge w:val="continue"/>
<w:tcBorders>
<w:left w:val="single" w:color="000000" w:sz="6" w:space="0"/>
<w:right w:val="single" w:color="000000" w:sz="6" w:space="0"/>
</w:tcBorders>
<w:vAlign w:val="center"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:widowControl/>
<w:jc w:val="center"/>
<w:textAlignment w:val="center"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体" w:cs="Times New Roman"/>
<w:color w:val="000000"/>
<w:kern w:val="0"/>
<w:szCs w:val="21"/>
</w:rPr>
</w:pPr>
</w:p>
</w:tc>
</#if>
5.for循环:<#list 1..count as i> ${i}</#list>
6.map循环:
<#list map?keys as key >
${keys_index?if_exists+1} //获取序号 先判空,如果没有就从1 开始
${loopDevice[key]}//获取值
</#list>
7. 大小比较
>(gt) :判断左边是否大于右边
>=(gte) :.....
<(lt) :.....
<=(lte) :.....
列:<#if UAnalyze[key].minUB lt 204.6>
8.导出word 只能用wps才能打开,但是重新保存后用word也能打开了。可能使用模板xml是用wps创建的部分语法在word中不兼容。
使用对比找出不一样的替换即可。

Freemarker 使用记录的更多相关文章
- freemarker判断记录集是不是为空
#if($personals)这样写 直接把记录标识符放在if里面就可以了
- jsp、freemarker、velocity对比
在java领域.表现层技术主要有三种:jsp.freemarker.velocity. jsp是大家最熟悉的技术长处:1.功能强大,能够写java代码2.支持jsp标签(jsp tag)3.支持表达式 ...
- freeMarker(九)——程序开发指南补充知识
学习笔记,选自freeMarker中文文档,译自 Email: ddekany at users.sourceforge.net 1.变量.范围 本章介绍当模板在访问变量时发生了什么事情,还有变量是如 ...
- jsp,velocity,freemark页面引擎的比較
在java领域.表现层技术主要有三种:jsp.freemarker.velocity. jsp是大家最熟悉的技术 长处: 1.功能强大,能够写java代码 2.支持jsp标签(jsp tag) 3.支 ...
- 【问题记录】使用FreeMarker生成数据,模板明明没错却一直报错“The following has evaluated to null or missing:”
今天使用FreeMarker生成数据时一直报错,错误信息是“The following has evaluated to null or missing:”,告知我找不到值. 但是我再三确认,这些属性 ...
- freemarker页面中文乱码
一.前言 简单的记录freemarker遇到的错误问题:ftl页面中文乱码 由于freemarker整合在ssm框架中,所以笔者直接贴配置代码 <beans xmlns="http:/ ...
- Freemarker常用技巧
1,截取字符串 有的时候我们在页面中不需要显示那么长的字符串,比如新闻标题,这样用下面的例子就可以自定义显示的长度 < lt. <= lte. > gt. >= gte < ...
- freemarker 数据做加减计算
controller的部分: @Controller@RequestMapping("/ContactsFrameIndex")public class ContactsFrame ...
- SiteMesh3整合SpringMVC+FreeMarker
SiteMesh3配置 添加maven依赖 添加filter 配置servlet 添加sitemesh配置文件 decorator示例 SpringMVC.FreeMarker配置(404问题处理) ...
随机推荐
- html中隐藏域hidden
基本语法: <input type="hidden" name="field_name" value="value"> 作用: ...
- 字符串回文判断 js练习
/ 判断一个字符是否为回文,abcba是回文,. /*function fn2(str){ var str1=''; for(var i=str.length-1;i>=0;i--){ str1 ...
- ubuntu12.04 empathy添加qq登陆
1,
- excel筛选重复项代码
Sub test()'updateby Extendoffice 20151030 Dim xRng As Range Dim xTxt As String On Error Res ...
- VM virtualBox中文版 v6.0.12.133076官方版(64/-虚拟机
virtualBox中文版 v6.0.12.133076官方版(64/-虚拟机 http://www.onlinedown.net/soft/82464.htm http://8dx.pc6.com/ ...
- 04.开发REST 接口
使用Django开发REST 接口 我们以在Django框架中使用的图书英雄案例来写一套支持图书数据增删改查的REST API接口,来理解REST API的开发. 在此案例中,前后端均发送JSON格式 ...
- TXT文件的写入及读出
一.文件的读出: file = open('url/data.txt','r',encoding='utf-8')#打开模式r w a,当文件在当前工作区域直接写文件名:如果不在当前工作区域要写绝对地 ...
- 第一章、认识Shiro
Shiro简介 Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Securi ...
- IE对于input checkbox onclick方法显示不支持此对象和方法的解决方案
网站注册页,协议结束后,通过input checkbox勾选,进行下一步,FF没问题,IE一直显示不支持此对象和方法. 网上查找大部分说函数名称与系统函数重名,而事实上不是. <div name ...
- Java集合框架(不全,待继续整理)
技术在线学习网站: https://www.runoob.com/java/java-collections.html 从上面的集合框架图可以看到: 1.Java 集合框架主要包括两种类型的容器: 1 ...