zoukankan      html  css  js  c++  java
  • Freemarker常用指令使用范例

    我的開發環境
      框架:           springmvc+freemarker
      開發工具:    springsource-tool-suite-2.9.0
      JDK版本:    1.6.0_29
      tomcat版本:apache-tomcat-7.0.26

         本文地址:http://www.cnblogs.com/sunang/p/3419807.html 轉載請注明出處^_^

    本文要注意的點已经用          標注,請大家要特別注意。

    前置文章

      SpringMVC配置入門    http://www.cnblogs.com/sunang/p/3419544.html

      Spring整合Freemarker  http://www.cnblogs.com/sunang/p/3419676.html

    go!

    step1.編寫controller文件,代碼如下:

    package www.asuan.com.controller;
    
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @Controller
    public class HelloWorldController {
        @RequestMapping("/helloWorld")
        public String helloWorld(Model model) {
            // 示例一
            int flag = 0;
            model.addAttribute("flag", flag);
            // 示例二
            List<String> noExistList = new ArrayList<String>();
            noExistList = null;
            model.addAttribute("noExistList", noExistList);
            // 示例三
            List<String> strList = new ArrayList<String>();
            strList.add("www.");
            strList.add("cnblogs.");
            strList.add("com/sunang");
            model.addAttribute("strList", strList);
            // 示例四
            Map<String, String> strMap = new HashMap<String, String>();
            strMap.put("mapKey0", "www.");
            strMap.put("mapKey1", "cnblogs.");
            strMap.put("mapKey2", "com/sunang");
            model.addAttribute("strMap", strMap);
            // 示例五
            Date nowTime = new Date();
            model.addAttribute("nowTime", nowTime);//傳輸時間對象
            return "helloWorld.ftl";
        }
    }

    step2.編寫ftl文件,代碼如下:

    <html>
    <body>
    示例一輸出結果:
    <p>
    <#-- if指令的用法-->
    <#-- 在指令標籤內直接使用變量名得到文本值-->
    <#if flag == 1>
        flag = 1
    <#elseif flag ==2>
        flag = 2
    <#else>
        <#-- 在指令標籤外使用   ${變量名}   的格式來得到文本值-->
        flag!=1 && flag!=2 flag的值為:${flag}
    </#if>
    </p>
    <p>----------------------------------------------------------</p>
    示例二輸出結果:
    <p>
    <#-- 判斷變量是否存在-->
    <#if noExistList??>
        List存在
    <#else>
        List不存在
    </#if>
    </p>
    <p>----------------------------------------------------------</p>
    示例三輸出結果:
    <p>
    <#-- list指令的用法,as可設置別名-->
    <#list strList as sl>
        <#-- 在變量名后加   _index   得到變量在容器中的序號,從0開始-->
        <#if sl_index == 0>
            我的博客地址是:${sl}
        <#else>
            ${sl}
        </#if>
    </#list>
    </p>
    <p><p></p>
    直接使用下標訪問List:${strList[0]}${strList[1]}${strList[2]}
    </p>
    <p>----------------------------------------------------------</p>
    示例四輸出結果:
    <p>
    <#-- 使用    ${變量名.變量名}   獲取容器對象的子對象-->
    ${strMap.mapKey0}${strMap.mapKey1}${strMap.mapKey2}
    </p>
    <p>----------------------------------------------------------</p>
    示例五輸出結果:
    <p>
    <#-- 當變量是日期對象時,可使用函數使其按格式輸出-->
    ${nowTime?string("yyyy-MM-dd")}
    </p>
    </body>
    </html>

    step3.運行與調試
        將工程部署到tomcat并運行,在瀏覽器輸入:http://localhost:8080/你設置的工程名/helloWorld.htm

    運行結果:

    complete!

     ps.如果你想深入學習Freemarker,可以看看南磊翻譯的《FreeMarker_Manual_zh_CN》。

  • 相关阅读:
    5.9
    5.8
    5.4
    04--深入探讨C++中的引用
    01--Qt扫盲篇
    00--Qt Creator 你必须要掌握的快捷操作
    02--读书笔记之:C++ Primer (第4版)及习题
    01--[转]C++强大背后
    01--数据结构——动态链表(C++)
    04-手把手教你把Vim改装成一个IDE编程环境(图文)
  • 原文地址:https://www.cnblogs.com/sunang/p/3419807.html
Copyright © 2011-2022 走看看