Freemarker 的基础使用 (二)

freemarker 的基础使用二

ftl 文件

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    <#-- 定义变量-->
    <#assign username="张三">
    ${username}
    <#--  如果定义相同的 变量, 变量的值会被覆盖, 会以最后的值为准-->
    <#assign num=10>
    ${num+11}
    <#assign b=true>
    <#-- 不能直接输出数字或者字符串以外的东西 否则都会报错, 需要转化成字符串才能输出, 使用 XXX?string 可以完成字符串的转换-->
    ${b?string}
    <#-- 这里三个问号 :前两个 判断是否为空, 后一个按照String输出  后面这个括号可有可无, 如果没有的话,就按照
             本值输出, 如果有的话, 类似于三目运算逻辑, 进行替换输出
    -->
    ${(a.ss)???string("true","false")}
    <#-- 时间输出 日期不能直接输出, 需要转换成字符串  按照括号后面的格式进行输出-->
    ${now?string("yyyy-MM-dd  HH:mm:ss")}
    <#-- 字符串输出拼接 两种方式-->
    ${" welcome:"+username}
    ${"welcome:${username}"}
    
    <#--  字符串转换成日期
            date 用来转换日期, datetime 用来转换日期时间, time用来转换时间
    -->
    ${"1979-25-45"?date("yyyy-MM-dd")}
    <#assign bir = "1997-03-04  12:34:23"?datetime("yyyy-MM-dd HH:mm:ss")>
    ${"字符串转时间"+bir}
</body>
</html>

 

@Test
            public void test07(){
                Map<String,Object> root = new HashMap<String, Object>();
                root.put("now", new Date());
                frr.print("07.ftl", root);
            }
            
            @Test
            public void test06(){
                // 此时 user 对象没有group的值, 如果前台要取值,就会报错, freemarker 不具备处理空值
                // 需要自己处理空值
                Map<String,Object> root = new HashMap<String, Object>();
                root.put("user",new User(1, "地点", 19));
                frr.fprint("06.ftl", root, "06.html");
            }

 

posted @ 2018-05-16 10:27  Mr_Kenson  阅读(184)  评论(0编辑  收藏  举报