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"中,我们将会探讨如何利用FreeMarker来实现代码的自动生成,这个功能在自动化构建、元编程或者快速开发中非常有用。 首先,我们需要理解FreeMarker的基础概念。FreeMarker是一个Java...
在使用模板生成XML时,通常会选择DOM或JAXB(Java Architecture for XML Binding),因为它们支持动态数据插入和更灵活的文件构造。 1. **DOM解析器**:DOM将整个XML文档加载到内存中,创建一个树形结构,允许程序...
在这个模板中,你可以用${...}来引用Java对象的属性,使用Freemarker语法构造动态SQL。 5. **编写Service**:创建一个Service类,使用@Autowired注入Repository,然后编写一个方法来处理业务逻辑。在这个方法中,...
这部分介绍了如何在FreeMarker中声明XML处理规则,以及如何使用这些规则来处理XML数据。 ### 六、参考文档 #### 6.1 内建函数参考文档 这部分列出了FreeMarker中内置的各种函数,这些函数可以帮助开发者在模板中...
由于FreeMarker完全用Java编写,它可以无缝集成到任何Java应用程序中,尤其是那些采用MVC(Model-View-Controller)架构的Web应用。 在MVC模式中,FreeMarker主要负责“View”部分,即视图层的渲染。Java程序通常...
Freemarker+Spring整合是将流行的模板引擎FreeMarker与强大的Spring框架相结合,以实现动态页面渲染和业务逻辑的解耦。FreeMarker是一个基于Java的模板引擎,它将数据模型与HTML或其他格式的模板分离,使得开发者...
总的来说,Spring Boot与FreeMarker的整合使得开发动态网页变得更加简单,通过配置和模板文件,我们可以快速构建出符合业务需求的视图层。同时,Spring Boot的自动化配置和强大的依赖管理,减少了开发者在集成过程中...
如果是在创建新文档,可以直接使用`XWPFDocument`或`HWPFDocument`的构造函数创建一个新的Word文档。 7. **保存和写入文件**:使用`Document`对象的`write`方法将内容保存到磁盘上的Word文件。 在提供的压缩包中,...
理解不同类型的变量和如何正确地构造数据模型对于有效使用FreeMarker至关重要。 ##### 2.1 基础类型 FreeMarker支持基本的数据类型,如字符串、数字和布尔值。这些类型可以直接通过Java的基本类型或包装类传递给...
这暗示了FreeMarker如何在实际应用中被用来构造动态文本。 首先,我们来了解FreeMarker的基本概念: 1. **数据模型(Data Model)**:这是FreeMarker处理的核心,包含了要展示的数据。在例子中,`id`、`number`、`...
在系统前端设计中,通过HTML-template标签读取FTL(FreeMarker模板)文件的路径,FTL文件结合FreeMarker语法、HTML语言、CSS样式和JavaScript事件来构造页面展示。此外,应用前端采用了DCloud工具进行混合模式开发,...
在`generatorConfig.xml`中配置`template`元素,指定自定义模板的位置。 5. **生成的代码结构** 生成的代码包括: - Java Model类:对应数据库中的表结构,包含了getter、setter方法和构造函数。 - Mapper XML...
Spring Boot Web 模板是基于 Spring Boot 的一个快速开发框架,旨在简化Web应用的搭建和开发过程,提供了一种“开箱即用”的体验。它集成了众多优秀组件,如Spring MVC、Thymeleaf、Freemarker等,使开发者可以迅速...
自定义模板涉及到对模板引擎的理解,通常使用的是Velocity或Freemarker这样的模板语言。这些模板语言允许我们编写类似于Java的语法,但在运行时会被替换为实际的代码。对于“源码”标签,我们将详细解释如何编写和...
在使用MyBatis代码生成器时,首先需要在项目的`pom.xml`文件中引入必要的依赖。其中,`mybatis-plus`是MyBatis Plus的核心库,`velocity-engine-core`和`freemarker`则是用于模板渲染的两个不同引擎,可以根据个人...
- `template`:可能包含了用于模板渲染的文件,如FreeMarker、Thymeleaf等,这些模板引擎可以帮助我们在视图层快速生成动态HTML。 - `config`:这个目录很可能存放着项目的配置文件,如XML配置、Java配置类或YAML/...
复杂,需要理解XML结构,基于XML构造模板 OpenOffice 需要安装OpenOffice软件 编码 复杂,需要了解OpenOffice的API Jacob、winlib Windows平台 编码 复杂,不推荐使用 Maven <groupId>com.deepoove</groupId> ...
- **读取模板**:加载模板文件(.docx),这可以通过`XWPFDocument`的构造函数完成,它会读取模板文件的内容。 - **替换占位符**:模板中通常包含一些预定义的占位符,例如`<name>`。我们可以通过遍历文档中的文本...
REST当前受支持用法: 参数: 端点-可以接收测试数据的端点template-json / xml文档的模板模板化其余主体使用freemarker模板构造。 这样可以根据用户需要精确配置主体。执照该项目是在Apache 2.0许可下发布的
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...