在Java中使用Freemarker主要是通過Freemarker模板引擎來生成動態的文本內容,通常用于生成HTML頁面、郵件模板、配置文件等。以下是使用Freemarker的一般步驟:
創建Configuration對象:首先需要創建一個Configuration對象,用于加載Freemarker模板文件和設置相關配置。
獲取Template對象:通過Configuration對象的getTemplate方法獲取要使用的模板文件。
創建數據模型:創建一個Map對象,將要在模板中使用的數據放入其中。
合并模板和數據:使用Template對象的process方法,將模板和數據模型合并生成最終的文本內容。
輸出結果:將生成的文本內容輸出到指定的輸出流或保存到文件中。
示例代碼如下:
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class FreemarkerExample {
public static void main(String[] args) {
Configuration configuration = new Configuration(Configuration.VERSION_2_3_31);
try {
configuration.setDirectoryForTemplateLoading(new File("src/main/resources/templates"));
Template template = configuration.getTemplate("hello.ftl");
Map<String, Object> dataModel = new HashMap<>();
dataModel.put("name", "World");
FileWriter fileWriter = new FileWriter("output.html");
template.process(dataModel, fileWriter);
fileWriter.close();
} catch (IOException | TemplateException e) {
e.printStackTrace();
}
}
}
在上面的示例中,我們加載名為"hello.ftl"的模板文件,并將一個名為"name"的變量傳遞給模板。模板文件可以包含Freemarker的模板語法,用于控制生成的文本內容。這樣就可以動態地生成內容并輸出到文件中。