[freemarker篇]01.入門Freemarker示例


這今天“弄”軍哥的管理系統,里面由涉及到一部分的FreeMarker的知識,並且我那些學生在亞信實習也涉及到這部分的知識,所以想開始總結一些FreeMarker,正好我可開始使用一下Maven,簡單的入門!如果這里有什么不會的,我的學生請留言或者在QQ上挑逗一下我,哈哈!我只對我的學生負責,如果是大神級別的就不要麻煩我了!謝謝理解!

關於如何在MyEclipse2014搭建Maven環境,抱歉這里就不說了!有想知道的,我給學生發視頻!


 

使用Maven快速建立項目:

1.新建Maven項目

 

直接點擊下一步

 

這里什么都不用管,直接點擊下一步即可

使用的是快速搭建,選擇好之后,點擊NEXT

通過GAV搞定坐標,點擊完成即可!


 

最終的項目結構圖如下:

這些類都是我重新寫的!

第一步,修改pom.xml文件,代碼如下

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <!-- 引入Freemarker的依賴 -->
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.23</version>
        </dependency>
    </dependencies>

 

注意:我修改了單元測試的版本號碼和依賴了最新的freemarker的支持

第二步,新建模版文件,后綴名一般情況下為ftl,全名為freemarker+template的縮寫,demo.ftl的代碼如下

你好:${user_name}

 

這是最簡單的形式了

第三步,建立讀取demo.ftl的幫助文件,FreemarkerUtil.java文件

public class FreemarkerUtil {
    
    public Template getTemplate(String name){
        try {
            //通過Freemarker的Configuration讀取相應的ftl
            Configuration configuration = new Configuration(Configuration.VERSION_2_3_23);//這里是對應的你使用jar包的版本號:<version>2.3.23</version>
            
            //configuration.setDirectoryForTemplateLoading(new File("/ftl")); //如果是maven項目可以使用這種方式
            configuration.setClassForTemplateLoading(this.getClass(), "/ftl");
        
            Template template = configuration.getTemplate(name);
            
            return template;
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        return null;
    }
    
    public void print(String name,Map<String, Object> root){
        //通過Template可以將模版文件輸出到相應的文件流
        Template template = this.getTemplate(name);
        try {
            template.process(root, new PrintWriter(System.out));//在控制台輸出內容
        } catch (TemplateException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
    }

}

 

第四步,寫測試類進行測試

public class FreemarkerTest{
    
    FreemarkerUtil fu = null;
    
    @Before
    public void init(){
        if(fu==null){
            fu = new FreemarkerUtil();
        }
    }
    
    @Test
    public void 讀取模版現實在控制台(){
        //1.創建數據模型
        Map<String, Object> root = new HashMap<String, Object>();
        //2.賦值
        root.put("user_name", "胖先生");
        //3.將數據模型和模版進行結合輸出到控制台顯示
        fu.print("demo.ftl", root);
        
        
    }
}

 

進行測試,結果如下,在控制台上可以輸入:    你好:胖先生   -->代表成功了! 


 

如果同學不會使用maven那么說明你已經落后了,但是也可以使用普通的jave項目搞定,這里提供了freemarker的下載地址

http://mvnrepository.com/artifact/org.freemarker/freemarker/2.3.23

請自行下載


 

備注一下,我在使用maven test命令的時候報錯了並且解決了

 check $M2_HOME environment variable and mvn script match.

解決方法如下: 

1.添加M2_HOME的環境變量,這個步驟以前就已經搞定了

2.Preference->Java->Installed JRES->Edit 選擇一個jdk

 -Dmaven.multiModuleProjectDirectory=$M2_HOME

環境變量中的代碼,這里配置上可能有點問題,但是解決上面的問題

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM