你要用的freemarker模板引擎的使用技巧,全都在这里啦!

freemaker技能进阶

java中常用的数据模型

  • 基本类型数据(比如Integer)
  • 封装的对象类型(比如User对象)
  • 集合类型:List、Map

取值(插值)指令

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

${username}

2. 对null、不存在对象取值${var!}

${(user)!'我是默认值'}

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

 ${user.name}

4. 取值的时候进行计算、赋值

  ${number * 100}

5. Date类型格式 ${date?String( 'yyyy-MM-dd' )}

${user.birthday?string('yyyy-MM-dd')}

6. 如何转义HTML内容:${var?html}

${(user.name)?html}

7. 集合List的遍历

 生成list集合:

 public static List getUserList(){
        List userList = new ArrayList();
        for(int i = 0;i<5;i++){
            User user = new User();
            user.setId(i+1);
            user.setName("张三"+i);
            user.setBirthday(new Date());
            userList.add(user);
        }
        return userList;
    }

通过cotroller推送到前端页面:

mv.addObject("userlist",UserController.getUserList());

 前端展示:

    <#list userlist as item>
  • ${item.id}
  • ${item.name}
  • ${item.birthday?string('yyyy-mm-dd')}

8. 集合Map的遍历

生成map集合:


        Map usermap = new HashMap();
        usermap.put("java","你好java");
        usermap.put("python","你好python");
        usermap.put("nodejs","你好nodejs");

通过cotroller推送到前端页面:

mv.addObject("usermap",usermap);

 前端展示:

  • 集合map
  • <#list usermap?keys as key> ${key} : ${usermap[key]}

 

逻辑指令:if、switch

1. if指令

使用if指令判断值比较:


<#assign var = 100/>

 <#if var > 99>
        var 大于 99
    <#elseif var == 99>
        font color="red">var 等于 99
    <#else>
        font color="red">var 小于 99
    

使用if指令判断对象是否为空:


<#if userlist??>

<#if userlist?exists>

使用if指令进行多条件判断:

 
<#assign var = 'python'/>
    <#if var == 'python' || var == 'java'>
        python or java
    
    
    <#if var == 'python' || var?length == 6>
        python length is 6
    

<#assign var = 'nodejs'/>
    <#if !((var == 'python' && var?length == 6) || var == 'java')>
        not (python length is 6 or java)
    

2. switch指令


<#assign var = 'java'/>
    <#switch var>
        <#case 'java'>
        <#case 'python'>
        java or paython
<#break> <#default> other value

 

好了,今天的内容就到这里了,小编也累了,明天又是开心的一天!

 

 

你可能感兴趣的:(java)