`
sfeve
  • 浏览: 43860 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

用freemarker生成html小例子

    博客分类:
  • Java
阅读更多

同学接到一个做网站美工的小项目,没有逻辑处理的页面和数据库操作,这样对于我们这种程序研发人员反而还比较棘手。。

 

上网搜了一下有没有偷懒的方法,发现了freemarker。。可以根据java代码生成html文件的好东东。

 

二话不说,下载源代码。freemarker-2.3.16.tar.gz,下了这个最新的版本。解压后,有了需要的jar包-------freemarker.jar。

 

先来看个小例子吧!在源码的examples文件里,找到一个模板文件Test.ftl。拷出来修改其为以下内容:

 

<#macro greet person,website>
   Hello ${person}! Your Website is ${website}.
</#macro> 
  
<html>   
<head>   
<title>Hello World</title>
</head> 
  
<body>   
<@greet person="Sfeve" website="http://sfeve.iteye.com"/>   
</body>   
</html> 

 

 大家随便一看应该就能明白个八九成吧。。。

 

再写个Main函数测试一下!

 

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

import freemarker.template.Configuration;
import freemarker.template.Template;

public class Test {
	public static void main(String[] args) throws Exception {
		Configuration cfg = new Configuration();
		
		cfg.setDirectoryForTemplateLoading(new File("bin"));  //设置读取模板文件的目录
		
		Template t = cfg.getTemplate("Test.ftl");  //读取文件名为Test.ftl的模板
		
		Map root = new HashMap();  //存储数据
		
		Writer out = new OutputStreamWriter(new FileOutputStream(
				"Test.html"), "GBK");  //输出流
		
		t.process(root, out); //动态加载root中的数据到Test.html。数据在模板中定义好了。
		
		System.out.println("Create successfully!");
	}
}

 

运行,即在当前文件目录下生成了名为Test.html的文件,其代码如下:

 

 

<html>   
<head>   
<title>Hello World</title>
</head> 
  
<body>   
   Hello Sfeve! Your Website is http://sfeve.iteye.com.   
</body>   
</html> 

 

很爽吧,更多精彩功能有待发掘。。。

 

PS:模板文件(这里是Test.ftl)一定要放到测试函数指定的目录里哦!否则会报找不到文件的异常。附件是源码和MyEclipse的freemarker插件。插件的使用方法就不磨叽了~

分享到:
评论
7 楼 awdxzc 2011-03-11  
crazy84241167 写道
不错 不错。
请问楼主 frremarker语句里可以有HTML代码?

freemarker就是一个页面模板,肯定可以嵌入html代码啊
6 楼 crazy84241167 2011-03-11  
不错 不错。
请问楼主 frremarker语句里可以有HTML代码?
5 楼 wuyakenihao 2010-11-02  
这个在我们网站经常用到,要是是对一些,长时间查询一次数据库,和不常变化的页面用TA生成。
4 楼 sfeve 2010-11-01  
bluemusic 写道
不错就是东西太少了点
freemarker做html的成品网站可参阅http://www.ibaodian.cn/
希望看到LZ下次作品

3 楼 sfeve 2010-11-01  
robinjim 写道
   楼主这个例子的使用场景是怎么样的,仅仅是生产html?
    个人觉得freemarker在生成html方面比较有价值的是模板功能,比如web界面换模板和换皮肤功能,以前struts1.1因为没有和freemarker结合,还需要配置servlet支持freemarker。struts2已经内置了freemarker,我们可以用ftl取代jsp页面,这样可以把前台页面和模板功能放心的交给ui。最好ui有些jsp的知识,能使用标签,这样开发人员的工作量会小很多。

呵呵,我只是随便玩一下。还没有投入使用哦 : 谢谢您的回复
2 楼 robinjim 2010-11-01  
   楼主这个例子的使用场景是怎么样的,仅仅是生产html?
    个人觉得freemarker在生成html方面比较有价值的是模板功能,比如web界面换模板和换皮肤功能,以前struts1.1因为没有和freemarker结合,还需要配置servlet支持freemarker。struts2已经内置了freemarker,我们可以用ftl取代jsp页面,这样可以把前台页面和模板功能放心的交给ui。最好ui有些jsp的知识,能使用标签,这样开发人员的工作量会小很多。
1 楼 bluemusic 2010-11-01  
不错就是东西太少了点
freemarker做html的成品网站可参阅http://www.ibaodian.cn/
希望看到LZ下次作品

相关推荐

    freeMarker生成html实用例子

    - `freemarker`目录下的例子可能包括基础的模板文件(如`template.ftl`)和对应的Java测试类,展示了如何使用FreeMarker生成HTML,你可以通过阅读这些例子了解具体用法。 总的来说,FreeMarker是Java Web开发中...

    利用FreeMarker生成word文件例子

    ### 使用FreeMarker生成Word文档 1. **配置FreeMarker**:首先,需要在项目中引入FreeMarker的依赖,例如通过Maven或Gradle添加对应的依赖库。然后,配置FreeMarker的环境,包括设置模板目录、缓存策略等。 2. **...

    freemarker生成静态HTML例子

    本示例将详细介绍如何使用Freemarker生成静态HTML页面。 1. **Freemarker基本概念** - **模板**: Freemarker的核心是模板,它定义了输出文件的结构和样式,其中包含了一系列指令和变量。 - **数据模型**: 数据...

    实用方便freemarker.jar freemarker架包 freemarker生成excel、word、html、xml例子

    以下是一个简单的FreeMarker生成HTML的例子: ```java Configuration cfg = new Configuration(Configuration.VERSION_2_3_30); cfg.setClassForTemplateLoading(this.getClass(), "/templates"); Template ...

    freemarker根据模版生成文件使用例子

    在IT领域,Freemarker是一种强大的模板引擎,用于将数据模型与HTML、XML或任何文本格式相结合,生成最终的文档。本文将详细解析一个具体的使用案例:如何利用Freemarker根据模板生成文件,特别是Java环境下生成...

    freemarker.jar freemarker架包 freemarker生成excel、word、html、xml简单例子

    开发者创建HTML模板,用`&lt;#...&gt;`标签定义控制逻辑,`${...}`插入变量,然后使用Freemarker处理模板,生成HTML字符串。 4. **生成XML**:Freemarker同样可以生成XML文件,这对于构建XML数据交换或者生成XML配置文件...

    使用FreeMarker生成java代码

    这篇博客文章“使用FreeMarker生成java代码”深入探讨了如何利用FreeMarker来自动化Java代码的生成过程,从而提高开发效率。 FreeMarker的工作原理是将设计模式(模板)与数据模型结合,模板中包含了一系列控制结构...

    freemarker生成复杂excel,带换行

    Freemarker是一个强大的模板引擎,常用于动态生成HTML、XML和其他文本格式的文件,包括Excel。在Java开发中,利用Freemarker生成Excel文件能够极大地提高效率,特别是处理复杂表格时,其灵活性尤为突出。本示例重点...

    java使用freemarker生成复杂的word文档

    Java中的Freemarker是一个强大的模板引擎,常用于生成动态HTML、XML或文本文件,而这里我们讨论的是如何利用Freemarker生成复杂的Word文档。在Java应用中,有时我们需要生成结构化且内容丰富的Word文档,例如报告、...

    FreeMarker动静分离生成html文件

    通过这个例子,我们可以看到FreeMarker如何实现动静分离,以及如何在Eclipse环境中使用它生成HTML文件。这个过程有助于提高开发效率,因为设计师可以专注于HTML模板的设计,而程序员只需关注数据处理和业务逻辑。在...

    freemarker生成word的一个简单例子

    总结起来,这个入门级的例子展示了如何使用Freemarker生成Word文档的基本步骤。通过模板和数据模型的结合,Freemarker提供了一种灵活的方式来自动生成结构化的文档,大大简化了编程工作。在实际项目中,你可以根据...

    spring整合freemarker发送邮件例子

    通过JavaMail,我们可以设置邮件内容的MIME类型为 "text/html",并插入由FreeMarker生成的HTML字符串。 5. **内嵌图片**:在HTML邮件中内嵌图片通常涉及到Base64编码。将图片转换为Base64字符串,然后在HTML代码中...

    利用freemarker导出word 小例子方便新手学习

    在这个"利用FreeMarker导出Word小例子"中,我们将探讨如何使用FreeMarker来创建Word文档,这对于新手来说是一次很好的学习机会。 1. **FreeMarker基础知识**: - FreeMarker是一个基于模板的生成器,主要用在Web...

    freemarker入门文档及例子

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

    struts1+spring+hibernate+freemarker一个小例子

    在这个“struts1+spring+hibernate+freemarker一个小例子”中,我们将探讨这四个组件如何协同工作,以及它们各自的核心功能。 首先,Struts1是MVC(模型-视图-控制器)设计模式的一个实现,主要用于处理HTTP请求和...

    freemarker生成静态网页

    本篇文章将深入探讨如何使用Freemarker来生成静态网页,并通过一个简单的小例子进行说明。 首先,理解Freemarker的基础概念是必要的。Freemarker是一个基于模板的、声明式的模板语言,它的主要任务是将数据模型和...

    freemarker 与sitemesh 整合例子

    4. **整合Sitemesh和Freemarker**:为了让Sitemesh能够装饰Freemarker生成的页面,需要在Freemarker模板中添加特殊的指令,如`&lt;@sitemesh.page&gt;`,这告诉Sitemesh哪些部分是需要被装饰的。 5. **处理请求**:当用户...

    Java用freemarker导出word例子

    要使用FreeMarker生成Word文档,我们需要借助一个库,如`docx4j`,它可以将FreeMarker模板转换为`.docx`文件。首先,确保在项目中添加了`freemarker`和`docx4j`的依赖。 3. **步骤一:创建FreeMarker模板** 创建...

    freeMarker例子

    FreeMarker 是一个强大的Java模板引擎,常用于动态生成HTML、XML或其他文本格式的Web页面。在Web开发中,它作为视图层的技术,与后端控制器(如Spring MVC中的Controller)进行解耦,使得开发者可以专注于业务逻辑而...

Global site tag (gtag.js) - Google Analytics