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>

 

    

 

posted @ 2019-08-09 11:16  木枝木枝  阅读(552)  评论(0)    收藏  举报