我是靠谱客的博主 无奈奇异果,最近开发中收集的这篇文章主要介绍常用的freemark语法(三)假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现在请我们一起开启提升技术之旅吧,详情请点击http://106.12.206.16:8080/qingruihappy/index.html假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过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的工作环境,那么现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部