概述
假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现在请我们一起开启提升技术之旅吧,详情请点击http://106.12.206.16:8080/qingruihappy/index.html
一,符号的意义
1.0,单问号
1 ?后面要加关键字,例如:<#if object?exists>object对象不为空</#if> 2 3 <#if str??>${str?string}</#if><#--将str以字符串形式显示--> 4 5 ${nowDate?time}<#--将现有时间以时间的格式显示,显示结果如:15:13:05--> 6 7 ${nowDate?date}<#--以日期格式显示,如:2011-4-28-->(date的格式可以在freemarker.properties文件中配置)
单问号后面跟的是函数
其实?exists就相当于??
1.1,双问号
1 <#if orderParam.quliJycs?? && orderParam.quliJycs == '1'>已上传<#else>请上传</#if>
其中双问号意思就相当于 orderParam.quliJycs?exists 是否存在 ,判断为非空的,这句话的意思就是说如果orderParam.quliJycs存在并且值为1则是已上传。
1.1.1,三个问号
1 ${(num.color)???string}
前连个问号是判断是否存在,后面一个问号是让它以String的类型输出
1.2,单个感叹号
1 ${(user.name)!""} 2 ${(user.name)!}
3,${user.name?default(‘xxx’)}//默认值xxx
4 ${(user.name)!"默认值"}
第一行是说如果为空就让值为空
第二行就是如果为空不会报错
第三行则是如果为空则值为默认值
第三行和第四行的作用是一样的。
但是前提条件都是user对象不能为空,这句话主要针对的是它的值
1.3,双感叹号
${abc!!},<#list strList!! as str >
比如${list strList as str},如果strList不存在,则freemarker是会报错的
而如果加上<#list strList!! as str >,则freemarker就会对忽略掉空变量而不会报错
1.4,判断非空
1、if和”??“
<#if age??>
无年龄值
<#/if>
2、$和!
${age!'0'}
如果age为null,默认给'0'
二,循环语句的应用
2.1,if else 语句
1 <#if student.studentAge lt 12> 2 ${student.studentName}不是一个初中生 3 <#elseif student.studentAge lt 15> 4 ${student.studentName}不是一个高中生 5 <#elseif student.studentAge lt 18> 6 ${student.studentName}不是一个大学生 7 <#else> 8 ${student.studentName}是一个大学生 9 </#if>
3 <#if condition>... 4 <#elseif condition2>... 5 <#elseif condition3>...... 6 <#else>... 7 </#if>
2.2,switch的应用
字符串
1 <#switch being.size> 2 <#case "small"> 3 This will be processed if it is small 4 <#break> 5 <#case "medium"> 6 This will be processed if it is medium 7 <#break> 8 <#case "large"> 9 This will be processed if it is large 10 <#break> 11 <#default> 12 This will be processed if it is neither 13 </#switch>
数字
1 <#switch x> 2 <#case x = 1> 3 1 4 <#case x = 2> 5 2 6 <#default> 7 d 8 </#switch> 9
格式
1 <#switch value> 2 <#case refValue1> 3 ... 4 <#break> 5 <#case refValue2> 6 ... 7 <#break> 8 ... 9 <#case refValueN> 10 ... 11 <#break> 12 <#default> 13 ... 14 </#switch>
三,集合
2.1,集合的长度
1 <#if student?size != 0></#if> 判断=的时候,注意只要一个=符号,而不是==
2.2,遍历list集合
1 User类 2 public class User{ 3 private String username; 4 private 5 (省略set和get方法) 6 } 7 8 user.ftl 9 <#--Freemarker遍历list--> 10 简单遍历list: 11 <#list userList as user> 12 用户名:${user.userName} 13 密 码:${user.userPassword} 14 年 龄: ${user.age} 15 </#list> 16 17 <#--Freemarker遍历list并应用list隐含变量item_index--> 18 item_index使用: 19 <#list userList as user> 20 第${user_index+1}个用户 21 用户名:${user.userName} 22 密 码:${user.userPassword} 23 年 龄: ${user.age} 24 </#list> 25 26 27 <#--Freemarker遍历list并应用list隐含变量item_has_next--> 28 item_has_next,size使用: 29 <#list userList as user> 30 用户名:${user.userName} 31 密 码:${user.userPassword} 32 年 龄: ${user.age} 33 <#if !user_has_next> 34 共有${userList?size}最后一个用户是:${user.userName} 35 </#if> 36 </#list> 37 38 39 <#--Freemarker遍历list并按用户年龄升序排序--> 40 按用户年龄升序排序: 41 <#list userList?sort_by("age") as user> 42 用户名:${user.userName} 43 密 码:${user.userPassword} 44 年 龄: ${user.age} 45 </#list> 46 47 48 <#--Freemarker遍历list并按用户年龄降序排序--> 49 按用户年龄降序排序: 50 <#list userList?sort_by("age")?reverse as user> 51 用户名:${user.userName} 52 密 码:${user.userPassword} 53 年 龄: ${user.age} 54 </#list> 55 56 57 <#--Freemarker遍历list当用户年龄大于21岁时,停止输出--> 58 list中应用break: 59 <#list userList?sort_by("age")?reverse as user> 60 用户名:${user.userName} 61 密 码:${user.userPassword} 62 年 龄: ${user.age} 63 <#if (user.age>21) > 64 <#break> 65 </#if> 66 </#list>
2.3,遍历map集合一
1 假设selectDateModel 是我们后台返回的map<String, String>; 2 3 <#list selectDateModel?keys as key> 4 <option value="${key}">${selectDateModel[key]}</option> 5 </#list>
2.4,遍历map集合二
1 <#--freemarker map的应用--> 2 <#--创建一个map,注意在freemarker中,map的key只能是字符串来作为key--> 3 <#assign userMap={"1","刘德华","2":"张学友"}/> 4 5 <#--获取map中的值--> 6 ${userMap["1"]} 7 8 <#--获取map的keys--> 9 <#assign keys=userMap?keys/> 10 11 12 <#--遍历map 首选获取key的集合--> 13 <#list keys as key> 14 key:${key}-value:${userMap["${key}"]} 15 </#list> 16 </br> 17 18 19 20 21 <#--直接遍历map的第二种方式--> 22 <#list userMap?keys as key> 23 key:${key}--value:${userMap["${key}"]} 24 </#list> 25 </br> 26 27 28 29 30 <#--直接遍历map的values--> 31 <#list userMap?values as value> 32 ${value} 33 </#list>
3,其它
3.1,判断null,""
1 <#if object.param??&&object.param!="">${object.param!}<#else>请选择</#if>
假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现在请我们一起开启提升技术之旅吧,详情请点击http://106.12.206.16:8080/qingruihappy/index.html
最后
以上就是无奈奇异果为你收集整理的常用的freemark语法(三)假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现在请我们一起开启提升技术之旅吧,详情请点击http://106.12.206.16:8080/qingruihappy/index.html假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现的全部内容,希望文章能够帮你解决常用的freemark语法(三)假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现在请我们一起开启提升技术之旅吧,详情请点击http://106.12.206.16:8080/qingruihappy/index.html假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复