freemarker语法
来源:互联网 发布:淘宝店铺搜索排名 编辑:程序博客网 时间:2024/05/21 11:16
freemarker语法
- 打印基本类型的object
${object}
如果为null或不存在则不打印
${object!}
也可以给不存在的值一个默认值
${object!"我是默认值"}
可以给括号里的值进行运算
${object+1}
- 打印对象中的值
${User.name}
如果name不存在则这样写
${User.name!}
如果User也可能不存在则这样写,它会先判断User是否存在,再判断name是否存在
${(User.name)!}
- 打印格式化日期
${birthday?string('yyyy-MM-dd')}
- 定义一个变量,并为之赋值
<#assign var="hello" /><#assign var=[1,2,3,4,5,6] />
- 转译HTML内容
比如在Controller中var是这样写的
mv.addObject("<font color='red'>Hello</font>");
如果我们想输出Hello,而不是标红的Hello,我们应该这样写
${var?html}
- if表达式
<#assign var = 99/><#if var == 99> ...<#elseif var == 88> ...<#else> ...</#if>
如果判断的条件可能不存在应该这样写,??表示如果var不存在,…的内容就不会执行
<#if var??> ...</#if>
或
<#if var?exists> ...</#if>
还可以进行多条件判断
<#if !((var==99 && var==88) || (var==77)) > ...</#if>
- switch表达式
<#switch var > <#case 10> ... <#break> <#case 100> ... <#break> <default> ...</#switch>
macro语法(宏指令)
- 定义
<#macro macro_name param1 param2 param3 paramN> template_code ${param1} ... <#nested/></#macro>
无参
<#macro test> <font color="red">我是无参数的macro</font></#macro>
有参
<#macro test param1 param2> <font color="red">我是有参数的macro</font></#macro>
有默认参
<#macro test param1 param2="java"> <font color="red">我是有参数的macro</font></#macro>
有多个参(paramExt是随便写的,你写成aaa都行)
<#macro test param1 param2="java" paramExt...> <font color="red">我是有多个参数的macro</font> <font color="red">${paramExt['param3']}</font></#macro>
带嵌套的(nested)
<#macro test param1> <nested param1, "我的nested参数"></#macro>
- 调用
<@macro_name param1="value1" param2="value2"/><@macro_name param1="value1" param2="value2"> nested_template</@macro_name>
无参
<@test/>
有参
<@test param1="java" param2="c++"/>
有多个参(paramExt是随便写的,你写成aaa都行)
<@test param1='java' param2='hello python' param3='js' param4='nodejs'/>
带嵌套的(nested)(返回的值的个数是可以选择的)(nested 的返回值用,分开)(param1 -> loopVar1, “我的nested参数” -> loopVar2)
输出的是hello java, 我的nested参数<@test param1="java";loopVar1, loopVar2> hello ${loopVar1}, ${loopVar2}</@test>
输出的是hello java<@test param1="java";loopVar1> hello ${loopVar1}</@test>
function语法
- 定义
<#function function_name param1 param2> <#return param1 + param2></#function>
- 调用
${function_name(100,100)}
阅读全文
0 0
- freemarker语法
- freemarker语法
- freemarker语法
- freemarker语法
- freemarker语法
- FreeMarker 语法
- Freemarker语法
- freemarker语法
- freemarker语法
- freemarker语法
- freeMarker语法
- freemarker语法
- freemarker语法
- freemarker语法
- FreeMarker基本语法知识
- Freemarker页面语法
- Freemarker页面语法
- Freemarker页面语法
- Centos7安装python3与python2并存
- unity官方内置网络unet的实例教程(八)
- C++输入、输出优化模板整理
- Linux中atme,ctime,mtime的区别
- 思路变换
- freemarker语法
- 使用hibernateTemplate执行add方法 出现Write operations are not allowed in read-only mode (FlushMode.MANUAL)
- ios文档网址
- NOIP2017普及组★跳房子
- freemarker配置
- [NOIP2017普及组]T2图书管理员(前导0)
- 我的电路实践
- HHUOJ_1322: 挂盐水
- http 和https