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问题处理) ...
随机推荐
- kebernets常用命令-整理
1.deployment相关命令 查看所有deployment: kubectl get deployments 查看指定命名空间的所有deployment: kubectl get deployme ...
- k8s学习-pod生命周期
4.2.pod生命周期 创建一个pod的时候过程如下: 1.容器环境初始化: 2.pause执行网络.容器卷等初始化工作: 3.所有的InitC按顺序执行,每个InitC执行完后才能执行下一个,且必须 ...
- css3中的skew(skewX,skewY)用法
这是html代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...
- 【网页设计】第四周 JavaSript
第四周 JSP 一 JSP概述 含义: Java Server Pages, 广泛使用的服务器端脚本语言之一:(运行在服务器端 BS结构) 由服务器端的JSP引擎执行JSP代码,然后将结果以HT ...
- 使用 xshell 登录 Windows 的 linux 子系统
1 配置 SSH Server # 卸载自带的 ssh sudo apt-get remove openssh-server # 安装 ssh sudo apt-get install openssh ...
- DOM 元素的循环遍历
博客地址:https://ainyi.com/89 获取 DOM 元素的几种方式 get 方式: getElementById getElementsByTagName getElementsBy ...
- python数据类型转换&&格式化输出
①python的数据类型包含:数字.字符串.列表.元组.字典.集合这六种基本数据类型.不同数据类型的数据可以进行类型的转换. 使用input让用户输入的数据默认为字符串类型: name = input ...
- CentOS7.5搭建ES6.2.4集群与简单测试
一 简介 Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎.它允许您快速,近实时地存储,搜索和分析大量数据.它通常用作支持具有复杂搜索功能和需求的应用程序的底层引擎/技术. 下载地址 ...
- Java 设置PDF平铺图片背景(水印)
一.概述及环境准备 本文介绍使用免费版PDF库-Free Spire.PDF for Java加载图片来设置成PDF平铺图片背景的效果,也可以作为平铺图片水印来使用:编辑代码前,需要先导入jar文件, ...
- 如何开发一个自己的npm包
目录 一.初始化npm包 二.新建自己的工具类 三.新建入口文件index.js 四.编写单元测试 五.登录仓库 六.发布包 七.安装使用 八.删除包 一.初始化npm包 npm init 运行输入包 ...