`

freemarker 用template快速构造XML

阅读更多
freemarker 用template快速构造XML
 
1. 需要jar freemarker-2.3.8.jar
2. demo 如下:
import java.io.File;
import java.io.IOException;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.Map;

import freemarker.core.Environment;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateExceptionHandler;


public class Test {
	/**
     * <一句话功能简述>
     * <功能详细描述>
     * @param map map
     * @param fileName fileName
     * @return 字符串流
     * @see [类、类#方法、类#成员]
     */
    @SuppressWarnings("unchecked")
    public static String buil(Map map, String fileName)
    {
        String url = Test.class.getResource("").getPath().replaceAll("%20", " ");
        String path = url;
        StringWriter out = new StringWriter();
        try
        {
            Configuration configuration = new Configuration();
            configuration.setDirectoryForTemplateLoading(new File(path));

            Template template = configuration.getTemplate(fileName);
            template.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);
            template.setEncoding("UTF-8");
            template.setOutputEncoding("UTF-8");
            Environment env = template.createProcessingEnvironment(map, out);

            env.process();
            out.flush();
        }
        catch (Exception e)
        {

        }
        finally
        {
            try
            {
                out.close();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
        }

        return out.toString();
    }
public static void main(String[]arrgs)
{
	Map<String,String> map= new HashMap<String,String>();
	map.put("id", "test123456");
	System.out.println(buil(map,"test.ftl"));
}
}

test.ftl
<xml id ="${id}">
</xml>
参考网站如下:
分享到:
评论

相关推荐

    FreeMarkerTemplateDemo

    在这个"FreeMarkerTemplateDemo"中,我们将会探讨如何利用FreeMarker来实现代码的自动生成,这个功能在自动化构建、元编程或者快速开发中非常有用。 首先,我们需要理解FreeMarker的基础概念。FreeMarker是一个Java...

    java 通过模板生成 xml

    在使用模板生成XML时,通常会选择DOM或JAXB(Java Architecture for XML Binding),因为它们支持动态数据插入和更灵活的文件构造。 1. **DOM解析器**:DOM将整个XML文档加载到内存中,创建一个树形结构,允许程序...

    SpringBoot+JPA+Freemarker 生成动态SQL

    在这个模板中,你可以用${...}来引用Java对象的属性,使用Freemarker语法构造动态SQL。 5. **编写Service**:创建一个Service类,使用@Autowired注入Repository,然后编写一个方法来处理业务逻辑。在这个方法中,...

    FreeMarker.pdf

    这部分介绍了如何在FreeMarker中声明XML处理规则,以及如何使用这些规则来处理XML数据。 ### 六、参考文档 #### 6.1 内建函数参考文档 这部分列出了FreeMarker中内置的各种函数,这些函数可以帮助开发者在模板中...

    Java模版引擎Freemarker

    由于FreeMarker完全用Java编写,它可以无缝集成到任何Java应用程序中,尤其是那些采用MVC(Model-View-Controller)架构的Web应用。 在MVC模式中,FreeMarker主要负责“View”部分,即视图层的渲染。Java程序通常...

    Freemarker+Spring整合

    Freemarker+Spring整合是将流行的模板引擎FreeMarker与强大的Spring框架相结合,以实现动态页面渲染和业务逻辑的解耦。FreeMarker是一个基于Java的模板引擎,它将数据模型与HTML或其他格式的模板分离,使得开发者...

    springboot 整合 freemarker代码实例

    总的来说,Spring Boot与FreeMarker的整合使得开发动态网页变得更加简单,通过配置和模板文件,我们可以快速构建出符合业务需求的视图层。同时,Spring Boot的自动化配置和强大的依赖管理,减少了开发者在集成过程中...

    java操作Bfreemarker实现对word

    如果是在创建新文档,可以直接使用`XWPFDocument`或`HWPFDocument`的构造函数创建一个新的Word文档。 7. **保存和写入文件**:使用`Document`对象的`write`方法将内容保存到磁盘上的Word文件。 在提供的压缩包中,...

    freemark手册

    理解不同类型的变量和如何正确地构造数据模型对于有效使用FreeMarker至关重要。 ##### 2.1 基础类型 FreeMarker支持基本的数据类型,如字符串、数字和布尔值。这些类型可以直接通过Java的基本类型或包装类传递给...

    test - 副本1

    这暗示了FreeMarker如何在实际应用中被用来构造动态文本。 首先,我们来了解FreeMarker的基本概念: 1. **数据模型(Data Model)**:这是FreeMarker处理的核心,包含了要展示的数据。在例子中,`id`、`number`、`...

    基于OFBIZ框架的智能考勤系统的设计与实现.pdf

    在系统前端设计中,通过HTML-template标签读取FTL(FreeMarker模板)文件的路径,FTL文件结合FreeMarker语法、HTML语言、CSS样式和JavaScript事件来构造页面展示。此外,应用前端采用了DCloud工具进行混合模式开发,...

    mybatis-generator-core(用法见readme)

    在`generatorConfig.xml`中配置`template`元素,指定自定义模板的位置。 5. **生成的代码结构** 生成的代码包括: - Java Model类:对应数据库中的表结构,包含了getter、setter方法和构造函数。 - Mapper XML...

    spring-boot-web-template:春天启动web模板

    Spring Boot Web 模板是基于 Spring Boot 的一个快速开发框架,旨在简化Web应用的搭建和开发过程,提供了一种“开箱即用”的体验。它集成了众多优秀组件,如Spring MVC、Thymeleaf、Freemarker等,使开发者可以迅速...

    自定义 Hibernate Tools 的模板

    自定义模板涉及到对模板引擎的理解,通常使用的是Velocity或Freemarker这样的模板语言。这些模板语言允许我们编写类似于Java的语法,但在运行时会被替换为实际的代码。对于“源码”标签,我们将详细解释如何编写和...

    MyBatis代码生成器.pdf

    在使用MyBatis代码生成器时,首先需要在项目的`pom.xml`文件中引入必要的依赖。其中,`mybatis-plus`是MyBatis Plus的核心库,`velocity-engine-core`和`freemarker`则是用于模板渲染的两个不同引擎,可以根据个人...

    spring-startup

    - `template`:可能包含了用于模板渲染的文件,如FreeMarker、Thymeleaf等,这些模板引擎可以帮助我们在视图层快速生成动态HTML。 - `config`:这个目录很可能存放着项目的配置文件,如XML配置、Java配置类或YAML/...

    word源码java-poi-tl:点

    复杂,需要理解XML结构,基于XML构造模板 OpenOffice 需要安装OpenOffice软件 编码 复杂,需要了解OpenOffice的API Jacob、winlib Windows平台 编码 复杂,不推荐使用 Maven &lt;groupId&gt;com.deepoove&lt;/groupId&gt; ...

    JAVA根据模板生成word文件

    - **读取模板**:加载模板文件(.docx),这可以通过`XWPFDocument`的构造函数完成,它会读取模板文件的内容。 - **替换占位符**:模板中通常包含一些预定义的占位符,例如`&lt;name&gt;`。我们可以通过遍历文档中的文本...

    test-publish-maven-plugin

    REST当前受支持用法: 参数: 端点-可以接收测试数据的端点template-json / xml文档的模板模板化其余主体使用freemarker模板构造。 这样可以根据用户需要精确配置主体。执照该项目是在Apache 2.0许可下发布的

    java开源包8

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

Global site tag (gtag.js) - Google Analytics