File: src/helloworld.ftl
FreeMarker
Template example: ${message}
=======================
===
County List ====
=======================
<#list
countries as country>
${country_index
+ 1}. ${country}
</#list>
package
net.viralpatel.freemarker;
import
java.io.File;
import
java.io.FileWriter;
import
java.io.IOException;
import
java.io.OutputStreamWriter;
import
java.io.Writer;
import
java.util.ArrayList;
import
java.util.HashMap;
import
java.util.List;
import
java.util.Map;
import
freemarker.template.Configuration;
import
freemarker.template.Template;
import
freemarker.template.TemplateException;
public
class
FTLHelloWorld {
public
static
void
main(String[] args) {
//Freemarker
configuration object
Configuration
cfg =
new
Configuration();
try
{
//Load
template from source folder
Template
template = cfg.getTemplate(
"src/main/java/helloworld.ftl"
);
//
Build the data-model
Map<String,
Object> data =
new
HashMap<String, Object>();
data.put(
"message"
,
"Hello
World!"
);
//List
parsing
List<String>
countries =
new
ArrayList<String>();
countries.add(
"India"
);
countries.add(
"United
States"
);
countries.add(
"Germany"
);
countries.add(
"France"
);
data.put(
"countries"
,
countries);
//
Console output
Writer
out =
new
OutputStreamWriter(System.out);
template.process(data,
out);
out.flush();
//
File output
Writer
file =
new
FileWriter (
new
File(
"C:\\FTL_helloworld.txt"
));
template.process(data,
file);
file.flush();
file.close();
}
catch
(IOException e) {
e.printStackTrace();
}
catch
(TemplateException e) {
e.printStackTrace();
}
}
}