<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    好好生活,努力工作,天天向上!

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      46 Posts :: 1 Stories :: 178 Comments :: 0 Trackbacks

       俗話說萬事開頭難,這句話對于我們程序員來說非常的適用,剛接觸一門新的東西,在初步了解了一些基本的東西后,都像找點東西練練手,找點熟悉的感覺。而我最近的兩年多的時間一直在從事Eclipse插件的工作,對Web 應(yīng)用開發(fā)接觸比較少,發(fā)現(xiàn)只有C/S開發(fā)的經(jīng)驗想換個工作環(huán)境比較困難。所以覺得學(xué)習(xí)一下Web的開發(fā)知識對自己比較有好處。

       FreeMarker是一個模板引擎,一個基于模板生成文本輸出的通用工具,FreeMarker被設(shè)計用來生成HTML Web頁面,特別是基于MVC模式的應(yīng)用程序,關(guān)于FreeMarker的更多的介紹,可以訪問它的主頁或者在百度百科中搜索相關(guān)的詞條(點這里).

        首先新建一個Java工程,比如FreeMarkerTest,將FreeMarkerjar包添加至工程的構(gòu)建路徑中,然后新建一個文件夾template存放模板文件的,下面是我們的模板的內(nèi)容,名稱為“test.ftl":
     
    <html>
      
    <head>
        
    <title>Welcome!</title>
      
    </head>
      
    <body>
        
    <h1>Welcome ${user}!</h1>
        
    <p>Our latest product:
        
    <href="${latestProduct.url}">${latestProduct.name}  </a>!
      
    </body>
    </html>  

       在新建一個Java類,名稱為FreeMarkerTest.java: 
     

    package test;

    import freemarker.template.*;
    import java.util.*;
    import java.io.*;

    public class FreeMarkerTest {

        
    public static void main(String[] args) throws Exception {
            
    /* 創(chuàng)建配置 */
            Configuration cfg 
    = new Configuration();
            
    /* 指定模板存放的路徑*/
            cfg.setDirectoryForTemplateLoading(
    new File("template"));
            cfg.setObjectWrapper(
    new DefaultObjectWrapper());

            
    /* 從上面指定的模板目錄中加載對應(yīng)的模板文件*/
            Template temp 
    = cfg.getTemplate("test.ftl");

            
    /* 創(chuàng)建數(shù)據(jù)模型 */
            Map root 
    = new HashMap();
            root.put(
    "user""Big Joe");
            Map latest 
    = new HashMap();
            root.put(
    "latestProduct", latest);
            latest.put(
    "url""products/greenmouse.html");
            latest.put(
    "name""green mouse");

            
    /* 將生成的內(nèi)容打印到控制臺中 */
            Writer out 
    = new OutputStreamWriter(System.out);
            temp.process(root, out);
            out.flush();
        }
    }

      這樣就可以了,運行后在控制臺可以打印:

    <html>
      
    <head>
        
    <title>Welcome!</title>
      
    </head>
      
    <body>
        
    <h1>Welcome Big Joe!</h1>
        
    <p>Our latest product:
        
    <href="products/greenmouse.html">green mouse</a>!
      
    </body>
    </html>  

    posted on 2009-08-28 09:13 VWPOLO 閱讀(2327) 評論(4)  編輯  收藏 所屬分類: Web 開發(fā)

    Feedback

    # re: FreeMarker 簡單的入門例子[未登錄] 2009-09-16 21:23 Mike
    寫的很好。 Thank you!  回復(fù)  更多評論
      

    # re: FreeMarker 簡單的入門例子[未登錄] 2009-11-11 17:32 aa
    dfjlsdfk  回復(fù)  更多評論
      

    # re: FreeMarker 簡單的入門例子[未登錄] 2010-03-25 15:50 GreatGhoul
    簡單易懂,不錯。不過感覺freemarker還不是很靈活。  回復(fù)  更多評論
      

    # ffsf 2010-07-23 21:56 sf
    sdf  回復(fù)  更多評論
      

    主站蜘蛛池模板: 国产日产成人免费视频在线观看| 中文字幕亚洲综合久久2| 免费在线观看视频网站| 亚洲麻豆精品国偷自产在线91| WWW免费视频在线观看播放| 4444亚洲国产成人精品| 狠狠色婷婷狠狠狠亚洲综合| 成人免费视频国产| 欧洲人免费视频网站在线| 一级毛片大全免费播放| 亚洲成a人片在线不卡一二三区| 亚洲乳大丰满中文字幕| 999久久久免费精品国产 | 手机看片国产免费永久| 国产成人亚洲毛片| 亚洲一区免费观看| 久久亚洲国产精品一区二区| 国产亚洲精品看片在线观看| 亚洲不卡无码av中文字幕| 动漫黄网站免费永久在线观看 | 亚洲黄色在线观看视频| 无码乱人伦一区二区亚洲一| 日韩免费观看视频| 四虎成人免费大片在线| 日本无卡码免费一区二区三区| 无码永久免费AV网站| 久久久久久久免费视频| 中文字幕a∨在线乱码免费看| 亚洲最大免费视频网| 精品日韩亚洲AV无码一区二区三区 | 国产亚洲一区二区在线观看| 亚洲国产一成人久久精品| 国产aⅴ无码专区亚洲av| 亚洲av中文无码乱人伦在线播放 | 精品亚洲成A人无码成A在线观看| 亚洲成a人片在线观看中文!!!| 亚洲六月丁香六月婷婷蜜芽| 亚洲精品无码不卡在线播HE| 亚洲AV无一区二区三区久久| 亚洲伊人久久大香线蕉苏妲己| 亚洲视频免费观看|