1.freemarker是什么,下面是官网给的定义,虽然是英文的,但还是看得懂
FreeMarker is a "template engine"; a generic tool to generate text output (anything from HTML to autogenerated source code) based on templates. It's a Java package, a class library for Java programmers. It's not an application for end-users in itself, but something that programmers can embed into their products.
FreeMarker is designed to be practical for the generation of HTML Web pages, particularly by servlet-based applications following the MVC (Model View Controller) pattern. The idea behind using the MVC pattern for dynamic Web pages is that you separate the designers (HTML authors) from the programmers. Everybody works on what they are good at. Designers can change the appearance of a page without programmers having to change or recompile code, because the application logic (Java programs) and page design (FreeMarker templates) are separated. Templates do not become polluted with complex program fragments. This separation is useful even for projects where the programmer and the HTML page author is the same person, since it helps to keep the application clear and easily maintainable.
Although FreeMarker has some programming capabilities, it is not a full-blown programming language like PHP. Instead, Java programs prepare the data to be displayed (like issue SQL queries), and FreeMarker just generates textual pages that display the prepared data using templates.
FreeMarker 是一个模版引擎,一个基于文本的模板输出工具,在表示层方面应用广泛
1.下载freemarker的包,下载地址:http://freemarker.org/
2.在eclipse中创建一个java工程,把freemarker.jar包引进来。写一个简单的测试类FreeMarkerTest
public static void main(String[] args) throws Exception {
Configuration cfg = new Configuration();
cfg.setDirectoryForTemplateLoading(new File("E:\\jar\\freemarker\\freemarker-2.3.16"));
cfg.setObjectWrapper(new DefaultObjectWrapper());
Template temp = cfg.getTemplate("test.html");
Map root = new HashMap();
root.put("user", "davide");
Map latest = new HashMap();
root.put("latestProduct", latest);
latest.put("url", "products/greenmouse.html");
latest.put("name", "green mouse");
Writer out = new OutputStreamWriter(new FileOutputStream("E:\\jar\\freemarker\\freemarker-2.3.16\\test_result.html"));
temp.process(root, out);
out.flush();
out.close();
}
3.test.html相当于ftl文件,其内容为
<html>
<head>
<title>Welcome!</title>
</head>
<body>
<h1>Welcome ${user}!</h1>
<p>Our latest product:
<a href="${latestProduct.url}">${latestProduct.name}</a>!
</body>
</html>
执行为上面的main方法后,会将数据填充到test.html并生成另一个文件test_result.html,其内容为
<html>
<head>
<title>Welcome!</title>
</head>
<body>
<h1>Welcome davide!</h1>
<p>Our latest product:
<a href="products/greenmouse.html">green mouse</a>!
</body>
</html>
FreeMarker is a "template engine"; a generic tool to generate text output (anything from HTML to autogenerated source code) based on templates. It's a Java package, a class library for Java programmers. It's not an application for end-users in itself, but something that programmers can embed into their products.
FreeMarker is designed to be practical for the generation of HTML Web pages, particularly by servlet-based applications following the MVC (Model View Controller) pattern. The idea behind using the MVC pattern for dynamic Web pages is that you separate the designers (HTML authors) from the programmers. Everybody works on what they are good at. Designers can change the appearance of a page without programmers having to change or recompile code, because the application logic (Java programs) and page design (FreeMarker templates) are separated. Templates do not become polluted with complex program fragments. This separation is useful even for projects where the programmer and the HTML page author is the same person, since it helps to keep the application clear and easily maintainable.
Although FreeMarker has some programming capabilities, it is not a full-blown programming language like PHP. Instead, Java programs prepare the data to be displayed (like issue SQL queries), and FreeMarker just generates textual pages that display the prepared data using templates.
FreeMarker 是一个模版引擎,一个基于文本的模板输出工具,在表示层方面应用广泛
1.下载freemarker的包,下载地址:http://freemarker.org/
2.在eclipse中创建一个java工程,把freemarker.jar包引进来。写一个简单的测试类FreeMarkerTest
public static void main(String[] args) throws Exception {
Configuration cfg = new Configuration();
cfg.setDirectoryForTemplateLoading(new File("E:\\jar\\freemarker\\freemarker-2.3.16"));
cfg.setObjectWrapper(new DefaultObjectWrapper());
Template temp = cfg.getTemplate("test.html");
Map root = new HashMap();
root.put("user", "davide");
Map latest = new HashMap();
root.put("latestProduct", latest);
latest.put("url", "products/greenmouse.html");
latest.put("name", "green mouse");
Writer out = new OutputStreamWriter(new FileOutputStream("E:\\jar\\freemarker\\freemarker-2.3.16\\test_result.html"));
temp.process(root, out);
out.flush();
out.close();
}
3.test.html相当于ftl文件,其内容为
<html>
<head>
<title>Welcome!</title>
</head>
<body>
<h1>Welcome ${user}!</h1>
<p>Our latest product:
<a href="${latestProduct.url}">${latestProduct.name}</a>!
</body>
</html>
执行为上面的main方法后,会将数据填充到test.html并生成另一个文件test_result.html,其内容为
<html>
<head>
<title>Welcome!</title>
</head>
<body>
<h1>Welcome davide!</h1>
<p>Our latest product:
<a href="products/greenmouse.html">green mouse</a>!
</body>
</html>