`

FreeMarker在eclipse中的入门例子

 
阅读更多

刚接触 FreeMarker时,只是简单的了解 FreeMarker的一些概念及工作原理,至于如何使用 FreeMarker还不是非常清楚。随着学习的深入,才渐渐对 FreeMarker有了更深入的理解。本文将从基础应用着手,以 eclipse开发环境为主,分享一个 FreeMarker用例的开发经验。

一、在eclipse中创建FreeMarker模板
FreeMarker中模板的概念就是:包含一些由${…}包围的特殊代码的文件。这些特殊代码是FreeMaker指令。
FreeMarker 模板以ftl后缀命名 如本文所示的:
user.ftl
${user.userName}
${user.userPassword}

二、在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.userName

三、在eclipse中填充FreeMarker数据模型
FreeMarker的根对象使用Map建立的。将创建好的User对象已键-值对得形式封装到Map中如:
 Map<?,?> root=new HashMap<?,?>();
 root.put(“user”,user);

  至此,我们在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);

3.合并数据模型和模板
通过调用Template实例的process()方法合并数据模型和模板,方法接受一个数据模型的根和一个writer作为参数,将结果输出到Writer。 为简化起见,本例输出到控制台
Writer out=new OutputStreamWriter(System.out);
template.process(root , out);
out.flush();
out.close();
好了,通过上面的讲解,您已经对FreeMarker的应用有了一定的了解。现在开始我们就来创建属于自己的Freemarker用例吧
本例的开发环境: Eclipse3.2+MyEclipse6.0+JDK5.0+FreeMarker
1)在在eclipse中建立一个web工程:freeMakerTest
2)下载FreeMaker工具包,解压后,在lib目录下拷贝freemark.jar到freeMakerTest工程下的lib目录中。
3)在在eclipse中的src目录下创建如下图所示的目录结构:



templates文件夹存放user.ftl文件。
test/frrmrker/uitl/文件夹下存放Freemarker模板引擎 FreeMarkertUtil.java。
test/client文件夹下存放客户端测试类 ClientTest.java ,User.java
4)在eclipse中编写user.ftl文件,FreeMarkertUtil.java, ClientTest.java ,User.java

希望通过本文,对刚开始或即将开始用eclipse展开FreeMarker旅程的朋友有所帮助。

分享到:
评论

相关推荐

    freemarker入门实例(解决乱码eclipse/java/编码方式UTF-8)

    本实例将引导你入门Freemarker,解决在Eclipse环境下使用Java编译时可能出现的乱码问题,并确保使用UTF-8编码方式进行处理。 **1. Freemarker简介** Freemarker是一个基于模板的开源Java库,它与Spring MVC、Struts...

    基于注解的springmvc 整合freemarker的入门例子

    这是一个基于eclipse+springmvc+freemarker+注解的入门例子,是一个war包,import到eclipse就应该可以直接运行,但是确保maven环境到存在;我做为一个入门者,是参照了...

    freemarker+struts2+ibatis入门学习摘要

    描述中的"初级学习摘要+完整实例project"表明这是一个适合初学者的学习资料,包含了一些基础概念的总结以及一个实际的项目案例,可以在Eclipse开发环境中运行。这将帮助初学者通过实践来理解和掌握这三个框架的集成...

    Springmvc入门实例

    **Spring MVC 入门实例详解** Spring MVC 是一个基于 Java 的模型-视图-控制器(MVC)架构,是 Spring 框架的一部分,用于构建Web应用程序。它提供了丰富的功能,如请求处理、数据绑定、异常处理等,使得开发者能够...

    深入浅出FreeMarker(一)-基础教程.pdf

    在进行FreeMarker的开发指南方面,文档提到5分钟内就能入门,举了如何在springmvc中配置FreeMarker的例子。这包括在web.xml中配置监听器和servlet,以及在dispatcher-servlet.xml中配置FreeMarker的bean,包括...

    ssh框架入门实例

    在这个入门实例中,你可能会经历以下步骤: 1. **环境搭建**:安装JDK、Apache Tomcat服务器,设置好开发环境,如Eclipse或IntelliJ IDEA,以及相关的插件。 2. **创建项目**:使用Maven或者IDE的模板功能创建SSH...

    springmvc入门实例(注解)

    本入门实例将重点介绍如何使用注解来简化Spring MVC的配置,以便快速入门。Eclipse Dynamic Web工程是开发此类应用的常见环境。 首先,我们需要创建一个Eclipse Dynamic Web项目。在Eclipse中,选择"File" -&gt; "New...

    struts2入门例子

    这个"struts2入门例子"旨在帮助初学者理解并掌握如何在实际项目中运用Struts2框架。让我们逐步解析这个入门示例中可能包含的关键知识点。 1. **MVC模式**:Struts2遵循MVC设计模式,将业务逻辑、数据处理和用户界面...

    国产开源java框架JFinal 实例入门源码

    标题中的"国产开源java框架JFinal 实例入门源码"表明了这是一个关于使用JFinal框架的入门教程,其中包含了源代码。JFinal是一个由中国开发者开发的轻量级Java Web开发框架,它以简洁、高效著称。这里的"实例入门...

    springMVC入门实例

    这个入门实例将引导新手逐步了解如何在Java环境中设置和运行一个SpringMVC项目。 首先,让我们深入了解SpringMVC的核心概念: 1. **模型(Model)**:模型层是应用程序的核心业务逻辑部分,负责处理数据。在...

    PortLet 入门小例子

    在"Portlet入门小例子"中,我们将探讨如何构建和部署一个基础的portlet。这个过程通常包括以下几个关键步骤: 1. **创建portlet项目**: 开始时,你需要选择一个合适的开发环境,如Eclipse IDE,并安装支持portlet...

    Spring之MVC 入门实例

    在这个入门实例中,我们将深入理解 Spring MVC 的基本概念和工作原理,并通过实际操作来学习如何创建一个简单的应用程序。 1. **模型(Model)**:在 Spring MVC 中,模型对象负责存储应用程序的数据。它们可以是 ...

    springmvc入门实例

    在这个入门实例中,你将看到以下关键部分: 1. **配置文件**:项目中可能包含`web.xml`,这是部署描述符,用于配置DispatcherServlet。另外,Spring MVC的配置文件(如`spring-servlet.xml`)会定义HandlerMapping...

    (一)struts2基本知识和入门实例:提交表单

    在`TestStruts2`这个例子中,可能包含一个简单的Action类,处理用户提交的表单数据。同时,它可能有一个对应的JSP页面显示表单,以及一个或多个结果页面。通过配置`struts.xml`,设置Action的映射和结果类型,完成...

    快速入门struts2.0的一个简单的例子

    在这个快速入门的例子中,我们将深入探讨如何利用Struts2.0搭建一个基本的Web应用。 首先,我们需要了解Struts2.0的核心概念。Struts2是一个基于Model-View-Controller(MVC)设计模式的框架,它提供了处理HTTP请求...

    Struts2 入门培训

    入门例子 **2.1. 项目** 创建一个Struts2项目通常涉及设置一个新的Maven或Eclipse工程,添加Struts2的依赖,并配置Web应用的基本结构。 **2.2. 配置FILTERDISPATCHER过滤器** 在`web.xml`中配置Struts2的...

    新手入门Struts2最小框架

    这个"新手入门Struts2最小框架"可能包含了这些基本组件的实例,你可以通过解压文件并导入Eclipse来学习和分析其结构。文件名"Struts2框架项目(方便)"可能包含了一个简单的Action类、配置文件以及一个或多个JSP页面...

    用Struts框架实现多文件上传功能(初学者的入门项目案例)

    在本项目中,我们将学习如何利用Struts框架实现多文件上传的功能,这对于初学者来说是一个很好的实践项目,能够帮助理解和掌握Struts的核心概念。 首先,了解文件上传的基本原理。在Web应用中,文件上传通常涉及到...

Global site tag (gtag.js) - Google Analytics