热门关键字:
jquery > jquery教程 > html5 > Java模版引擎之Freemarker

Java模版引擎之Freemarker

399
作者:管理员
发布时间:2020/3/30 10:39:29
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=1141

  Java模版引擎之Freemarker

  freemarker是一款模版引擎,是一种基于模版生成静态文件的通用工具,它是为Java程序员提供的一个类库,它不是面向最终用户的,而是为程序员提供了一款可以嵌入他们开发产品的应用程序。

  1.插值

  1.1常用${var}语法进行取值

  1.2对null、不存在对象取值${var!’设置默认值’}

  1.3取包装对象的值,通过“点”语法:${user.name}

  1.4取值的时候进行计算、赋值:

  <#assignstr=’我是自定义值’/>

  <span>${‘输出:’+str}</span>

  1.5Date类型格式${date?String(yyyy-MM-dd‘’)}

  1.6转义HTML内容:${var?html}

  2.逻辑指定:if、switch

  2.1if

  <#ifvar==‘str1’>

  var=‘str1’

  <#else>

  var!=‘str1’

  </#if>

  <#ifvar==‘str1’>

  var=‘str1’

  <#elseifvar==’str2’>

  var!=‘str2’

  <#else>

  var!=‘str1’

  </#if>

  用<#ifvar??><#if>或<#ifvar?exite><#if>判断变量是否存在

  2.2switch

  <#switchvar>

  <#case1>

  case1

  <#break>

  <default>

  other

  </#switch>

  3.集合遍历

  3.1list遍历

  <#listmyListasitem>

  下标:${item_index}

  值:${item}

  </#list>

  3.2map遍历

  <#listmyMap?keysaskey>

  ${key}:${map[key]}

  </#list>

  4.string基本操作指令

  ${str?substring(5,8)}:截取,取头不取尾

  ${str?length}:获取长度

  ${str?upper_case}:全部转为大写

  ${str?lower_case}:全部转为小写

  ${str?index_of(‘xx’)}:查找子串第一次出现的位置

  ${str?last_index_of(‘xx’)}:查找子串最后一次出现的位置

  ${str?replace(‘a’,’xx’)}:替换

  5.自定义函数(继承TemplateMethodModelEx接口)

  5.1创建自定义函数类

  publicclassTemplateMethdimplementsTemplateMethodModelEx{

  @Override

  publicObjectexec(Listlist)throwsTemplateModelException{

  //获取参数

  SimpleSequencesimpleSequence=(SimpleSequence)list.get(0);

  List<BigDecimal>list1=simpleSequence.toList();

  Collections.sort(list1,(a,b)->{returna.intValue()-b.intValue();});

  returnlist1;

  }

  }

  5.2将自定义函数对象传到模版中

  modelAndView.setViewName("index");

  modelAndView.addObject("sort_int_list",newTemplateMethd());

  returnmodelAndView;

  5.3在模版中使用

  <#assignmyList=[1,4,5,2,3,7,5,9,0]/>

  <#listsort_int_list(myList)asitem>

  ${item},

  </#list>

  6.List的指令

  6.1排序

  <#listmyList?sortasitem>

  ${item_index}:${item}

  </#list>

  6.2反转

  <#listmyList?reverseasitem>

  ${item_index}:${item}

  </#list>

  6.3长度

  ${myList.size}

  7.Freemarker内建函数

  7.1处理字符串内建函数

  substring:字符串截取

  cap_first:首字母大写

  starts_with:是否以子串开始

  ends_with:是否以子串结尾

  index_of:查找子串第一次出现下标

  last_index_of:查找子串最后一次出现下标

  split:分隔字符串

  trim:去首位空格

  contains:是否包含子串

  date/datetime/time:字符串转换为日期格式

  7.2处理数字的内建函数

  string:转为字符串

  x?string(“0.##”):转为小数点

  round:四舍五入

  floor:四舍五入

  ceiling:四舍五入进一

  7.3处理List的内建函数

  first/list:取第一个/最后一个值

  seq_contains:序列是否包含该值

  seq_index_of:该值在list中第一次出现的下标

  size/reverse/sort/sort_by:大小/反转/排序/list中为一个对象,可以根据某个属性进行排序

  chunk(num):把list进行分块处理,每num为一块

  7.4其他内建函数

  is函数:is_string/is_number/is_method(判断是否为string/number/method)

  has_content函数:判断一个对象是否是null、不存在

  8.Function指令

  <#functiondoAddparam1param2>

  <@returnparam1+param2/>

  </@function>

  调用:${doAdd(5,6)}






如果您觉得本文的内容对您的学习有所帮助:支付鼓励



关键字:html
友荐云推荐