`

FreeMarker在java项目中的应用

阅读更多

一、体验FreeMarker
FreeMarker是一个非常优秀的模板引擎,它能以非常简单的方式来输出数据显示。FreeMarker负责将一个数据模型(通常是一个Map对象)中的数据合并到模板中,从而生成输出。从而可以极好地分离显示逻辑和数据逻辑的设计,允许界面设计者更专注于显示逻辑的设计,而程序员则专注于提供逻辑数据。

二、FreeMarker在java项目中的应用示例

1、從官網下载FreeMarker所依赖的jar包 [http://www.freemarker.org ]

     目录:
    docs:包含FreeMarker的相关文档,用法和API文档
    examples:FreeMarker的各种demo
    lib:FreeMarker核心类库
    src:各种源文件

 

2、將jar包導入到classpath中;

 

3、在Java程序中使用FreeMarker;

    模板文件:  myFreemarker.ftl

    文件內容:
    <#-- 简单的FreeMarker模板 -->
    ${name},你好!${msg}

    在項目中新建一個文件夾:templates,將模板文件放進去;

 

4、Java文件

package com.freenarker;

import java.io.File;
import java.io.OutputStreamWriter;
import java.util.HashMap;
import java.util.Map;

import freemarker.template.Configuration;
import freemarker.template.Template;
/**
 * @ClassName: FreemarkTest 
 * @Description: 模板處理類
 * @author Liyongbin
 * @date 2011-2-15 下午08:40:18 
 * @version V1.0
 */
public class FreeMarkerTest {
	// 负责管理FreeMarker模板文件的Configuration实例
	private Configuration cfg;

	// 负责初始化Configuration实例
	private void init() throws Exception {

		// 初始化FreeMarker配置,創建一個Configuration實例
		cfg = new Configuration();
		// 设置模板文件位置
		cfg.setDirectoryForTemplateLoading(new File("templates"));
	}

		
	// 负责合并的方法
	private void process() throws Exception {
		Map<String,String> root = new HashMap<String,String>();
		root.put("name", "FreeMarker!");
		root.put("msg", "first FreeMarker demo");

		// 使用Configuration实例来加载指定模板
		Template t = cfg.getTemplate("myFreemarker.ftl");
		// 处理合并
		t.process(root, new OutputStreamWriter(System.out));
	}
		
	public static void main(String[] args) throws Exception {
		FreeMarkerTest ft = new FreeMarkerTest();
		ft.init();
		ft.process();
	}
}

 5. 運行結果:

    FreeMarker!,你好,first FreeMarker demo

2
0
分享到:
评论

相关推荐

    本项目主要通过一些详细的小列子讲述如何正确的使用FreeMarker

    本项目主要由spring+springmvc创建起来的,分别列举不同的小案列展示FreeMarker不同标签的运用

    Java项目:crm客户关系管理系统(java+SpringBoot+ECharts+Freemarker+Layui+mave

    技术选型方面,该项目是一个`SpringBoot`的单体应用,项目使用`SpringBoot2`框架快速开发,数据访问层使用`Mybatis`框架,页面渲染引擎使用`Freemarker`,页面样式使用`Layui`,日志方面选用的是`logback`,统计报表...

    JAVA上百实例源码以及开源项目源代码

     Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...

    中文FreeMarker教程《全》.pdf(英文手册的翻译中文版本)

    网页设计师可以改写页面的显示效果而不受程序员 编译代码的影响,因为应用程序的逻辑(这里是 Java 程序)和页面设计(这里是 FreeMarker 模 板)已经被分开了。页面模板代码不会受到复杂程序代码的影响。这种分离的思想...

    Java一键生成代码到controller层【源码】

    2、对springboot,spring,mybatis,mybatis plus,mysql,freemarker等java技术有基本应用。 3、可大大提高开发效率,数据表创建完以后,自动生成entity,mapper.xml,dao,service,controller,vo,dto相关代码。 4、本...

    JAVA上百实例源码以及开源项目

     Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...

    一个java版本freemarker的小博客项目.zip

    软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...

    基于SpringBoot和Freemarker的Web应用设计源码

    本源码项目是基于SpringBoot和Freemarker的Web应用设计,包含290个文件,主要使用Java、JavaScript、CSS、HTML和Shell编程语言。该项目集成了SpringBoot、SpringMVC、MyBaits、Bootstrap3、Druid和Freemarker等多个...

    FreeMarker中文手册

    编译代码的影响,因为应用程序的逻辑(这里是 Java 程序)和页面设计(这里是 FreeMarker 模 板)已经被分开了。页面模板代码不会受到复杂程序代码的影响。这种分离的思想即便对一 个程序员和页面设计师是同一个人的项目...

    一款极其轻量的JAVA持久层框架,基于 SpringJdbc + freemarker 实现.zip

    一款极其轻量的JAVA持久层框架,基于 SpringJdbc + freemarker 实现,具备Mybatis一样的SQL分离和逻辑标签能力,可无缝集成springboot项目。 软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++...

    java毕设 Java 毕业设计项目

    java毕设 1. 使用 io 流实现简易图片下载功能 ...3. jdbc 实现简易饭卡系统 4. jdbc 实战之对面的女孩看过来 ...17. 使用 Spring Data JPA 在应用程序中批量插入的示例 18. 使用 spring-boot-admin 对 Spring Boot 服务进

    java开源包4

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    java开源包101

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    java开源包11

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    java开源包6

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    java开源包9

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    java开源包8

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

Global site tag (gtag.js) - Google Analytics