今天海浪爲你們分享一個FreeMarker在eclipse中的入門例子。java
1、在eclipse中建立FreeMarker模板
在FreeMarker中模板的概念就是:包含一些由${…}包圍的特殊代碼的文件。這些特殊代碼是FreeMaker指令。
FreeMarker 模板以ftl後綴命名 如本文所示的:
user.ftl
${user.userName}
${user.userPassword}緩存
2、在eclipse中建立FreeMarker數據模型
FreeMarker數據模型:存在於計算機內存中的一種結構,由開發人員建立,向模板提供信息。
注意:FreeMarker數據模型不是文本文件。FreeMarker的數據模型是樹狀結構的。
如本文所示的:
User.java
public class User{
private userName;
private userPassword;
…(省略getter setter方法)
}
User對象的樹狀模型如:
(root)
|+-user
|+-userName=「張三」
|+-userPassword=「123」
要訪問user對象的userName屬性,能夠經過點操做符號如:user.userNameapp
3、在eclipse中填充FreeMarker數據模型
FreeMarker的根對象使用Map創建的。將建立好的User對象已鍵-值對得形式封裝到Map中如:
Map<?,?> root=new HashMap<?,?>();
root.put(「user」,user);eclipse
至此,咱們在eclipse中已經完成了大部分的前期準備工做。
FreeMarker工做原理中講到: 數據+模型=輸出,那麼咱們該如何得到想要的結果呢。
也許你已經想到了,建立FreeMarker的模板引擎,解析模板。步驟以下:
1.建立和配置Configuration對象,Configuration對象實例負責管理FreeMarker模板的路徑加載及模板的建立和緩存。一般應用程序的生命週期中只會建立一個Configuration實例。
Configuration config=new Configuration();
config.setDirectoryForTemplateLoading(new File(「templates」));
config.setObjectWrapper(new DefaultObjectWraaper());對象
2.獲取模板實例,即經過Configuration實例獲取Template實例,調用getTemplate()方法。
Template template=config.getTemplate(templateName);blog
3.合併數據模型和模板
經過調用Template實例的process()方法合併數據模型和模板,方法接受一個數據模型的根和一個writer做爲參數,將結果輸出到Writer。 爲簡化起見,本例輸出到控制檯
Writer out=new OutputStreamWriter(System.out);
template.process(root , out);
out.flush();
out.close();
好了,經過上面的講解,您已經對FreeMarker的應用有了必定的瞭解。接下來你們能夠根據http://www.oecp.cn/hi/hailang/blog/200建立的Freemarker用例,獨立建立一個屬於本身的Freemarker用例。生命週期