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中不兼容。
使用对比找出不一样的替换即可。
9.字符串转json问题
1)如果字符串中不含 null 则直接 使用eval
<#assign jsonObject= jsonString?eval >
2)如果字符串中含有null,则使用function标签将null 转换
<#function parseJSON json> <#local null = ''> <#-- null is not a keyword in FTL --> <#return json?eval> </#function>


浙公网安备 33010602011771号