`

freemark hellword

 
阅读更多

1、所需的材料:

主料:

myeclipse(我用的版本是10.0,各种版本可能略有不同,但是大都大同小异)

主辅料:

Freemarker-2.3.8.jarurlrewrite-2.6.0.jar

副辅料:

freemarker-ide-0.9.14

功效:myeclipse是我们快速搭建web项目的根本,离开了它我们寸步难行。仅仅是难行,不是不行。Freemarkerjar包是动态网页静态化的必备jar包,静态化的工作基本上都是由他来完成的,如果没有他,你就不用往下看了,打魔兽去吧。Urlrewritejar包是用来解决将动态的网页静态化之后的传参问题的。freemarker-ide-0.9.14是一个eclipse的插件,实现编辑*.ftl文件的语法高亮,以及语法提示问题。方便模板的编写以及语法校验。

2、用法:

工欲善其事必先利其器。在编辑代码之前应先将工具准备好。

首先,将freemarker-ide-0.9.14解压,找出解压后的hudson.freemarker_ide_0.9.14文件夹,并将这个文件夹整个拷贝到MyEclipse的安装目录MyEclipse 10下的dropins目录下(我的myeclipse的相应目录E:\MyEclipse\MyEclipse 10\dropins),重启myeclipse就可以了。现在编辑工具已经安装好了。在myeclipse的某一个工程下建一个test.ftl文件,在文件中输入<#include “C:\\windows”>如果不是黑白的就说明插件已经装好了哈。

myeclipse中新建一个WebProject名字叫HelloStaticTest。在该工程的根目录的src文件夹下新建一个包,报名叫“org.cfs.freemarker.hello”。在该包下新建一个servlet,名字叫做HelloServlet.java

WebRoot目录下的WEB-INF目录下的lib目录中添加FreeMarker的官方jar包。如:freemarker-2.3.8.jar。如果没有可以去官网下载(http://freemarker.sourceforge.net/)。到了官网该怎么下载大家都懂的。这个东西是完全免费的,所以不用有任何的担心与不安。添加了FreeMarker的官方jar包后,myeclipse会自动将其引入buildpath,这样就不用再手动引入了,有工具就是省事。

WEB-INF目录下新建一个文件,文件名字叫hello.ftl。内容如下:

1
2
3
4
5
6
7
8
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
</head>
<body>
Hello , ${hello}<br/>
</body>
</html>

src目录下的org.cfs.freemarker.hello这个包中的HelloServlet.java文件如下编辑:

 

package com.shamusoft.freemark.servlet;

 

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStreamWriter;

import java.io.PrintWriter;

import java.util.HashMap;

import java.util.Locale;

import java.util.Map;

 

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

import freemarker.template.Configuration;

import freemarker.template.Template;

import freemarker.template.TemplateException;

 

@SuppressWarnings("serial")

public class HelloServlet extends HttpServlet {

 

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doPost(request, response);

}

 

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

 

// 配置

Configuration cfg = new Configuration();

// 在哪个文件夹下找ftl模板文件,一般在WebRoot目录下的WEB-INF文件夹中

cfg

.setServletContextForTemplateLoading(getServletContext(),

"/WEB-INF");

// 设置字符集编码

cfg.setEncoding(Locale.getDefault(), "UTF-8");

// 以utf-8字符集的形式,取出模板文件

Template t = cfg.getTemplate("hello.ftl", "UTF-8");

// 用HashMap作为传递数据的媒介,将servlet中的数据填充到模板中去

Map<String, Object> data = new HashMap<String, Object>();

// 用数据填充HashMap

data.put("hello", "World!");

// 取得web项目的根目录

String path = getServletContext().getRealPath("");

System.out.println(path);

// 在根目录下新建一个静态网页的文件

File file = new File(path + "/Hello.html");

if (!file.exists()) {

file.createNewFile();

}

// 取得该文件的输出流

FileOutputStream fos = new FileOutputStream(file);

try {

// 用HashMap中的数据填充模板,并将填充过数据的模板写到文件中

t.process(data, new OutputStreamWriter(fos));

} catch (TemplateException e) {

e.printStackTrace();

} finally {

// 关闭文件读写流

fos.flush();

fos.close();

}

// 重定向到静态的html文件中去

response.sendRedirect("Hello.html");

}

 

 

}

 

转自:http://distantsaviour.blog.51cto.com/5009485/1211472

分享到:
评论

相关推荐

    freemark资料及eclipse的freemark插件

    标题中的"freemark资料及eclipse的freemark插件"表明我们将讨论关于FreeMarker的学习资源以及如何在Eclipse中使用FreeMarker插件进行开发。 FreeMarker的核心概念包括模板、数据模型和配置。模板是HTML或者其他文本...

    FreeMark Jar包 包括 中文 官方文档

    这个压缩包包含的是FreeMark的中文官方文档,对于理解和使用FreeMark非常有帮助。 "FreeMarker_2.3.23_Manual_zh_CN.chm" 是FreeMark的2.3.23版本的中文帮助文档,通常以CHM(Microsoft Compiled HTML Help)格式...

    Freemark标签

    主要介绍了freemark标签的相关基础知识,基本上了解Freemark标签的应用

    freemark开发指南(入门)

    FREEMARK资料,开发入门指南 是开发人员了解FREEMARK的一本入门资料

    Freemark模板使用

    本教程适用于初学者,旨在快速引导你掌握Freemark的基本使用方法。我们将通过几个关键步骤来理解并实践如何在Java环境中配置和使用Freemark。 首先,你需要在项目中引入Freemark的库文件。在这个例子中,我们导入了...

    Freemark指南

    ### Freemark指南知识点详解 #### 一、概览 **Freemark**是一种强大的模板引擎,主要用于将数据模型与表示层分离。它通过一种简洁而强大的语法来实现动态内容的渲染,使得开发者能够更加灵活地控制页面布局和内容...

    实现FreeMark读取模板生成HTML

    在描述中提到的“实现FreeMark读取到json数据”,意味着你可能需要将JSON对象转换为FreeMarker的数据模型。这可以通过使用Jackson或Gson等库来实现。例如,如果你有一个JSON字符串: ```json { "name": "张三", ...

    freemark 资料学习

    在你提供的资料中,"freemark中文资料"和"freemark教程"是学习的关键。它们可能包含了Freemarker的基本概念解释、实例演示、常见问题解答等。"freemark基础和高级教程"则更深入地讲解了Freemarker的各种特性,是进阶...

    freemark制定excel下载模板示例

    当下载的excel格式内容比较复杂时,用程序生成excel文件就显得力不从心。这时采用excel模板化,更加便捷高效。本资源基于springboot+freemark模板做的示例。只需要了解下freemark基本语法即可。

    freemark开发指南详解

    本篇将深入讲解Freemarker的开发指南,帮助你更好地理解和使用这一工具。 1. **Freemarker基础概念** - **模板语言**:Freemarker使用的是基于文本的模板语言,它不包含任何编程语法,而是通过简单的标记来控制...

    springboot+mybaits+freemark+mysql

    springboot 集成mybits mysql和freemark模板引擎demo,本demo在mybaits中sql用到springboot默认注解sql以及spring的mapping映射*.xml 两种方式,而且配置操作日志(sql打印)

    freemark_java_test.rar_freeMark ja_freemark_java freemark

    这个“freemark_java_test.rar”压缩包包含了与FreeMarker相关的示例源码,用于演示如何在Java项目中有效利用FreeMarker模板语言。 FreeMarker的核心概念是模板和数据模型。模板是HTML、XML或其他格式的静态文本,...

    freemark

    freemark资料

    Freemark基础入门+深入

    相比Velocity,Freemarker提供了更多高级特性,如过程调用、递归和闭包回调,使其能处理复杂的逻辑和数据操作。这篇文章将引导你从基础开始了解并深入探索Freemarker。 1. **基本语法** Freemarker使用特定的语法...

    freemark 生成静态页面

    在这个项目中,我们讨论的是如何利用FreeMarker来生成静态页面。 首先,要理解FreeMarker的工作原理。...这使得我们可以灵活地构建动态网页,同时保持页面源码的清晰和可读性。 在给定的项目中,我们看到`...

    Struts2+Freemark

    在"Struts2+Freemark 做到一个例子"中,你可能会看到以下的实践步骤: 1. 创建Action类并实现相关业务逻辑。 2. 编写FreeMarker模板文件(通常以`.ftl`为扩展名),定义视图布局和数据展示方式。 3. 在Struts2配置...

    test_Freemark freemark的基础入门小程序

    在这个"test_Freemark freemark的基础入门小程序"中,我们将探讨Freemarker的基本概念、语法以及如何通过运行`Test.java`来生成`test_freemark.html`文件。 1. **Freemarker模板引擎基础**: Freemarker是基于模板...

Global site tag (gtag.js) - Google Analytics