ftl中几个特殊的用法

时间:2021-08-12 19:53:09

@ 注意${}为变量的渲染显示,即先计算后打印出来,而<>里面为定义等操作符的定义 ,而首尾2个<>中间部分一般为计算打印部分

@数据模型中如果不是以map数据来封装的,而是直接封装一个对象到数据模型中,则对象中的属性 或者 小对象 必须都为私有性即private,而且 属性或小对象 必须有get和set方法才行。

@数据模型中的Boolean 类型 变量 var 在模板中用法为 <#if var>...</#if>  如果var为true情况下会打印...   同理  <#if !var>...</#if>  var 为false 的话才会打印...

@模型中的Boolean 值true或 false 不可以直接 在 模板中打印,如: ${var}  会报错

@数据模型中的Boolean 变量 如果不是一个对象属性,而是对象的一个返回 Boolean 类型的方法,如果模板中想拿这个方法的返回值,那数据模型中这个方法命名规则必须是isGetVar(),即代码生成器自动生成的get方法,只不过其由于是Boolean类型,所以就不是get开头而是is开头。

@数据模型中的对象属性 如果想在 模板中拿的话可能需要先在对象中有其get 和set 方法才行。

@模板中:  <#if var??>...</#if>对var进行 null判定,如果var为null 打印...

@模板中:  ${var ?default(xxx)}  如果var为

@ ${var ?if_exists } //用于判断如果数据模型中有它的存在,就输出这个值 
@ ${var ?default(‘xxx’)}//默认值xxx 
@ ${var !"xxx"}//默认值xxx