`

一个freeMarker的简单例子

    博客分类:
  • jsp
阅读更多
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简单例子

    在这个“freemarker简单例子”中,我们将深入理解Freemarker的基本概念、配置以及如何在实际项目中使用。 1. **Freemarker基本概念** - **模板(Template)**:Freemarker的核心是模板,它定义了最终输出的静态...

    freeMarker简单实例

    3. **创建FreeMarker简单实例** - **步骤1:设置环境** 首先,你需要在项目中引入FreeMarker库。如果是Maven项目,可以在pom.xml中添加依赖: ```xml &lt;groupId&gt;org.freemarker &lt;artifactId&gt;freemarker ...

    一个FreeMarker的简单实例

    在你提供的实例中,你已经尝试将FreeMarker与Struts框架集成,创建了一个可以运行的项目。 FreeMarker的工作原理是,它通过模板文件(扩展名为`.ftl`)和数据模型来生成最终的输出。在FTL文件中,你可以使用特定的...

    spring mvc freemarker 简单例子

    通过这个简单的例子,我们可以看到Spring MVC和Freemarker的集成过程。在实际开发中,这只是一个基础的配置,可以根据项目需求进行更复杂的模板设计和数据绑定。例如,可以利用Freemarker的条件判断、循环结构、函数...

    FreeMarker 简单的入门小小小小例子

    俗话说万事开头难,这句话对于我们程序员来说非常的适用,刚接触一门新的东西,...FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序

    freemarker简单实例

    freemarker简短易懂的工具类

    一个意义深刻 FreeMarker 入门例子之HelloWord

    本示例“一个意义深刻的FreeMarker入门例子之HelloWord”旨在帮助初学者理解并掌握FreeMarker的基本用法。 在Java Web开发中,FreeMarker与后端控制器如Servlet或Spring MVC中的Controller协同工作,允许开发者将...

    freemarker的优缺点及简单实例

    以下是一个简单的FreeMarker模板示例,展示了如何从Java数据模型中获取数据并展示在模板上: ```html 张三"&gt; &lt;title&gt;FreeMarker示例 欢迎,${name}! [1, 2, 3] as num&gt; 当前数字:${num} ``` 在这个...

    freemarker生成word的一个简单例子

    以下是一个简单的示例: ```java import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.TemplateException; import java.io.File; import java.io....

    基于spring boot 2集成hibernate及freemarker的简单实例

    在本文中,我们将深入探讨如何在Spring Boot 2框架中集成Hibernate ORM框架和FreeMarker模板引擎,以构建一个简单...这个简单的实例为初学者提供了一个很好的起点,以便理解这些技术如何协同工作,进一步提升开发效率。

    FreeMarker应用实例和PPT

    - 创建一个简单的Struts2项目,集成FreeMarker。 - 编写一个Action类,处理用户登录逻辑。 - 设计一个FreeMarker模板,展示登录成功后的用户信息。 - 调试并运行,观察模板的渲染效果。 通过以上内容的学习,...

    freemarker简单示例

     FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写  FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序  虽然FreeMarker具有一些编程的能力,但通常由Java程序...

    Freemarker 自定义标签 简单案例

    在提供的"TestFreemarkerDiy"示例中,可能包含了一个简单的自定义标签实现以及一个演示如何使用该标签的Freemarker模板文件。通过分析这个示例,我们可以学习如何在实际项目中应用自定义标签,以提高模板的可维护性...

    freemarker学习例子

    Freemarker是一个强大的、开源的模板引擎,常用于Java Web应用中的视图层技术,它允许开发者使用模板语言来动态生成HTML、XML等格式的文档。这个“freemarker学习例子”应该包含了一些基础到进阶的Freemarker用法,...

    freemarker入门文档及例子

    1. 用户列表展示:一个简单的例子,展示如何使用Freemarker遍历用户列表并显示用户信息,如用户名、邮箱等。 2. 动态生成邮件:另一个实例可能是创建一个模板,动态地根据用户数据生成个性化的电子邮件内容,如问候...

    freeMarker例子

    博客链接指向了iteye上的一个博客,尽管具体内容未给出,但通常会包含FreeMarker的安装、配置、基本语法、控制结构、内置函数以及与其他框架(如Spring)的整合等内容。 1. **安装与配置**: FreeMarker是一个独立...

    JFinal+Maven+FreeMarker入门实例

    本篇将深入探讨如何使用`JFinal`、`Maven`和`FreeMarker`构建一个入门级的Web应用程序。首先,我们要理解这三个关键组件的作用和它们之间的协同工作方式。 **JFinal** 是一个基于Java的轻量级Web开发框架,其核心...

    freemarker 自定义freeMarker标签

    这通常是通过`Configuration`对象的`setSharedVariable`方法完成的,将你的自定义指令类实例绑定到一个特定的名字,这个名字就是你在模板中使用的标签名。 3. 使用自定义标签:在模板文件中,你可以像使用内置标签...

    Struts2 和freemarker实例

    通过这个实例,我们将有机会实践上述知识点,一步步构建一个简单的Struts2应用,并结合FreeMarker实现动态视图。这将帮助我们深入理解这两个工具的协同工作方式,以及在实际项目中如何有效地利用它们提高开发效率和...

    SpringBoot mybatis druid pagehelper freemarker 整合实例

    在本实例中,我们将深入探讨如何整合SpringBoot、MyBatis、Druid、PageHelper以及FreeMarker这五大组件,创建一个高效且易于管理的Web应用。这些技术在现代Java开发中占据着重要的地位,尤其在构建后端服务时,它们...

Global site tag (gtag.js) - Google Analytics