`
lion222
  • 浏览: 125181 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

java freemarker

阅读更多

ava中使用freemarker生成静态页面文件(支持多语言):
FreeMarkerTest:

 import java.io.BufferedWriter;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.OutputStreamWriter;
 import java.io.Writer;
 import java.util.HashMap;
 import java.util.Locale;
 
 import freemarker.template.Configuration;
 import freemarker.template.Template;

public class FreeMarkerTest {

    public static void main(String[] args) {
        FreeMarkerTest test = new FreeMarkerTest();
         test.getFile();
         test.getFile(Locale.JAPAN);
    }
   
     public void getFile() {
         Configuration freemarkerCfg = new Configuration();
         freemarkerCfg.setClassForTemplateLoading(this.getClass(),"/");
         freemarkerCfg.setEncoding(Locale.getDefault(),"UTF-8");
         Template template;
        try {
             template = freemarkerCfg.getTemplate("t.ftl");
             template.setEncoding("UTF-8");
             File htmlFile = new File("t.html");
            Writer out = new BufferedWriter(new OutputStreamWriter(
                    new FileOutputStream(htmlFile), "UTF-8"));
             HashMap propMap = new HashMap();
            propMap.put("user", "hermit");
             template.process(propMap, out);
            out.flush();
         } catch (Exception e) {
             e.printStackTrace();
         }
     }
   
     public void getFile(Locale loc) {
         Configuration freemarkerCfg = new Configuration();
         freemarkerCfg.setClassForTemplateLoading(this.getClass(),"/");
         freemarkerCfg.setEncoding(Locale.getDefault(),"UTF-8");
         Template template;
        try {
            template = freemarkerCfg.getTemplate("t.ftl",loc);
            template.setEncoding("UTF-8");
            File htmlFile = new File("t_"+loc.getLanguage()+"_"+loc.getCountry()+".html");
            Writer out = new BufferedWriter(new OutputStreamWriter(
                    new FileOutputStream(htmlFile), "UTF-8"));
            HashMap propMap = new HashMap();
            propMap.put("user", "hermit");
            template.process(propMap, out);
             out.flush();
         } catch (Exception e) {
             e.printStackTrace();
         }
     }
 
}
 

t.ftl

<html>
<head>
  <title>Welcome!</title>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
</head>
<body>
  <h1>Welcome ${user}!</h1>
</body>
</html> 

 

t_zh_CN.ftl

<html>
<head>
  <title>欢迎!</title>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
</head>
<body>
  <h1>你好 ${user}!</h1>
</body>
</html>  


freemarker支持多语言国际化,只要把模板名称安装资源文件的写法就可以了,也就是name_语言_国家地区.ftl

如果找不到对应的语言,就会用默认语言的模板。

顺便抱怨一下,freemarker对于空值的处理太霸道了,没有值你就写个空或者写KEY也可以啊,弄一堆出错信息在那

分享到:
评论

相关推荐

    java freemarker导出word -包含多张图片导出

    在Java应用中,使用FreeMarker导出Word文档可以提供灵活的文本和数据结合的方式,尤其适用于生成报告、合同等复杂格式的文档。本篇将详细介绍如何使用FreeMarker与Java结合来导出包含多张图片的Word文档。 1. **...

    Java freemarker demo 【struts + freemarker】 自己修改的一个小例子

    在这个“Java FreeMarker demo 【Struts + FreeMarker】”示例中,我们将会探索如何将FreeMarker与Struts框架结合,以实现MVC(Model-View-Controller)架构中的视图层功能。 Struts是一个基于MVC设计模式的Java ...

    Java FreeMarker+Maven实现代码自动生成

    Java FreeMarker+Maven 实现代码自动生成是一个高效且灵活的方法,可以帮助开发者节省大量手动编写重复性代码的时间。FreeMarker 是一个强大的模板引擎,而Maven作为项目构建工具,能够帮助我们管理和组织项目的构建...

    java freemarker 导出 word

    Java FreeMarker 是一个强大的模板引擎,常用于生成动态HTML、XML或其他文本格式的文档。在本场景中,我们将深入探讨如何使用FreeMarker来导出Word文档。FreeMarker模板引擎允许开发者将静态模板与动态数据结合,...

    Freemarker模板生成pdf+java

    Freemarker模板生成pdf+javaFreemarker模板生成pdf+javaFreemarker模板生成pdf+javaFreemarker模板生成pdf+javaFreemarker模板生成pdf+java

    基于Python仿Java Freemarker语法的轻量级模板渲染工具设计源码

    该项目是一款Python实现的轻量级模板渲染工具,模仿了Java Freemarker的语法,旨在生成文本、CSV文件和代码等。由于功能相对简化,故命名为“not so free marker”。该项目包含22个文件,其中Python代码文件14个,...

    java Freemarker生成word

    Java Freemarker 生成 Word 文档 Java Freemarker 是一个基于模板技术的文档生成工具,能够快速生成 Word 文档。下面是使用 Java Freemarker 生成 Word 文档的详细步骤和知识点。 Step 1: 准备 Word 模板 在生成 ...

    Java freemarker 模板生成word动态表格

    Java FreeMarker 模板生成Word动态表格是一种在Java开发中常用的技术,用于生成基于模板的复杂文档,特别是当需要创建包含动态数据的Word表格时。FreeMarker是一个强大的模板引擎,它与Java代码分离,允许开发者使用...

    java freemarker 语法

    ### Java Freemarker 语法详解 #### 一、Freemarker 概述与基本概念 Freemarker 是一种用于生成动态内容的模板引擎,它能够帮助开发者将数据模型中的数据渲染到 HTML 页面上,从而实现前后端分离的效果。...

    Java freemarker生成word文件

    Java FreeMarker 是一个强大的模板引擎,它允许程序员使用简单的模板语言来动态生成各种类型的文档,包括Word文件。在Java开发中,如果你需要自动生成报告、合同或者任何基于特定数据的Word文档,FreeMarker是一个...

    基于gulp的前端构建工具集成javafreemarker开发环境

    本主题聚焦于如何利用gulp这个流行的JavaScript构建工具来集成Java FreeMarker模板引擎,打造一个高效的前端开发环境。 首先,`gulp`是一个基于流的构建系统,它允许开发者通过编写简单的任务来处理文件流。其核心...

    Java中使用 FreeMarker 生成pdf盖章合同文件

    本篇文章将深入探讨如何在Java中使用FreeMarker生成带有盖章的PDF合同文件。 首先,让我们了解FreeMarker的基本概念。FreeMarker是一个基于模板的语言,它与Java代码分离,允许开发者用简单的模板语法来表示数据。...

    java通过freemarker模板导出word含图片

    FreeMarker是一个强大的、轻量级的模板语言,常用于Java应用中的视图层渲染。 首先,理解FreeMarker的基本概念。FreeMarker是一个基于模板的Java库,它允许开发者将静态模板语言与动态数据结合,生成HTML、XML或...

    Java 用Freemarker导出word文档总结

    1. **工具代码**:在Java项目中,我们需要引入FreeMarker库(freemarker.jar)并创建一个FreeMarker配置对象,用来加载模板文件和设置全局变量。以下是一个简单的示例: ```java import freemarker.template....

    java 使用 freemarker 导出word 包含 图片和动态的数据表,动态行和动态列

    总的来说,通过Java、FreeMarker和Apache POI的结合,我们可以高效地生成包含动态内容的Word文档,无论是文字、表格还是图片,都能轻松实现动态生成。这在处理大量个性化报告或数据分析时非常有用,大大提高了开发...

    java freemarker学习文档

    Freemarker是一个强大的Java模板引擎,常用于Java Web开发中,用于动态生成HTML或其他类型文本。它是基于模板的,允许开发者将逻辑与呈现分离,使前端界面更加灵活和可维护。下面将详细介绍Freemarker的一些核心概念...

    java中freemarker实现对word的操作

    本篇文章将深入探讨如何利用FreeMarker在Java环境中实现对Word文档的操作。 一、FreeMarker简介 FreeMarker是一个基于模板的语言,其主要目标是将数据模型与展示逻辑分离。在Java应用中,开发者通常会创建一个数据...

    freemarker+html生成pdf.zip

    2. **配置Freemarker**:在Java项目中,你需要引入`Freemarker`库,并配置相应的设置,如模板路径、数据模型等。创建一个`Template`对象,加载HTML模板文件。 3. **构建数据模型**:根据业务需求,创建一个数据模型...

    通过freemarker模板 生成PDF

    **Freemarker模板** 是一个强大的Java模板引擎,用于动态生成文本输出,如HTML、XML或PDF。它支持变量替换、控制结构(如if/else)和复杂的逻辑,使得开发者能以模板语言编写静态部分,而动态数据则由程序在运行时...

    freemarkerdemo 生成word 插入图片

    1. **Freemarker基础知识**:Freemarker是一个基于模板的语言,它允许开发者通过定义模板文件,然后结合Java对象数据,生成动态内容。模板文件中包含了一系列控制结构(如条件语句、循环)和变量引用,这些变量可以...

Global site tag (gtag.js) - Google Analytics