package com.zxgllhh.test;
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.Map;
import freemarker.template.Configuration;
import freemarker.template.DefaultObjectWrapper;
import freemarker.template.Template;
/**
*
* @author zhao,xingguo
*
* 学习了freemarker的用法
* 并且掌握了创建文件夹以及文件的用法,同时对相对路径以及绝对路径有了更深刻的认识
* 为重写代码生成器打下了基础
*
*/
public class TestFreeMarker {
public static void main(String[] args) throws Exception {
Configuration cfg = new Configuration();
cfg.setClassForTemplateLoading(TestFreeMarker.class, "templates");
cfg.setObjectWrapper(new DefaultObjectWrapper());
Template temp = cfg.getTemplate("test.ftl");
temp = cfg.getTemplate("dao.ftl");
Map<String, Object> dao = new HashMap<String, Object>();
dao.put("domainName", "EntpShow");
dao.put("msg", "hello dao!");
String e=System.getProperty("user.dir");
String[] te = e.split("\\\\");
String re = new String();
for(String s : te){
re = re + s + File.separator ;
}
System.out.println(re);
File file = new File(re+"src/com/zxgllhh/test/zxg");
if(!file.exists()){
System.out.println("not exists. creating folder.......");
file.mkdirs();//尽量不要用mkdir,功能太弱
}else {
System.out.println("exists......");
}
File afile = new File(re+"src/com/zxgllhh/test/zxg/EntpShowDao.java");
Writer w = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(afile)));
temp.process(dao, w);
}
}
分享到:
相关推荐
SpringBoot版本的SpringMVC+Freemarker上传案例,地址是localhost:8888/photo/index进入上传页面,默认是三个文件,自己可以屏蔽两个文件就是单个文件的状态了,首先在电脑的D盘新建一个upload的文件夹,...
在本文中,我们将深入探讨如何使用FreeMarker来操作字符串。 FreeMarker的工作原理是将模板(HTML或XML文件)与数据模型(通常是Java对象)相结合,生成最终的输出。模板中包含了可替换的占位符,这些占位符由...
此案例不仅展示了Freemarker的基本用法,还涉及到了自定义类、接口以及模板加载策略。 ### 一、目录结构与组件 #### 1. 接口`Render` 定义了一个名为`Render`的接口,该接口规定了一个名为`render`的方法,接受三...
FreeMarker的语法包括变量引用(`${}`)、三元操作符(`<#if>`、`<#else>`)、循环结构(`<#foreach>`)、条件语句(`<#if>`、`<#choose>`)、导入和包含其他模板(`<#import>`、`<#include>`)等。学习者应熟练...
NULL 博文链接:https://chennaid2.iteye.com/blog/1507737
综上所述,FreeMarker生成Word文件涉及到Java编程、模板引擎使用、数据模型构建以及可能的第三方库(如Apache POI)的集成。通过熟练掌握这些知识点,开发者可以创建灵活且动态的Word文档生成系统。
reeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:格式部分,不会输出 3,插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出 4...
Freemarker是一个强大的模板引擎,常用于Web应用中的视图层开发,特别是在Java环境中,它作为MVC设计模式的一部分,负责生成动态HTML或其他格式的...记得配合`freemarker.pdf`文件进行学习,以获得更直观的示例和解释。
Java中使用FreeMarker生成PDF合同文件的过程主要包括配置FreeMarker环境、创建数据模型、解析模板、生成PDF以及添加图片盖章。通过结合FreeMarker的灵活性和Flying Saucer的转换能力,我们可以方便地将动态生成的...
FreeMarker模板文件的组成及基本语法详解 FreeMarker模板文件由四部分组成:文本、注释、插值和FTL指令。文本是直接输出的部分,注释是以#--开头的格式部分,不会输出。插值是以${...}或#{...}格式的部分,将使用...
在Eclipse这样的集成开发环境中,这款插件能够显著提升开发人员编写和调试`.ftl`(FreeMarker Template Language)文件的效率。 首先,让我们了解一下Freemarker模板语言。Freemarker是一个基于Java的模板引擎,常...
3. **编写 FreeMarker 模板**:设计一个 .ftl(FreeMarker Template Language)文件,其中包含 Word 文档的结构和占位符。占位符将以 `${}` 包围,用于在运行时被数据模型中的值替换。 4. **加载模板**:使用 ...
解压后,你可以看到`src/main/resources/templates`目录下的Freemarker模板文件,`pom.xml`文件中的依赖配置,以及可能存在的`FreeMarkerUtil.java`文件。 总的来说,“freemarker导出doc及docx”涉及到了...
在Freemarker中,乱码可能发生在多个环节:模板文件的读取、数据模型的处理以及最终HTML页面的渲染。具体来说: 1. **模板文件的编码**:如果模板文件的编码与Freemarker期望的编码不一致,就可能出现乱码。 2. **...
1. 添加依赖:在你的项目中,你需要添加FreeMarker和Apache POI的依赖,这两个库分别用于模板处理和Excel文件操作。 2. 配置FreeMarker:设置FreeMarker的配置,如模板目录、缓存策略等。 三、创建模板 1. 创建...
Freemarker是一个强大的模板引擎,常用于...学习这个示例时,你可以查看模板文件是如何设计的,理解代码中的数据模型是如何构建的,以及最后生成的XML文件的结构。这将帮助你更好地理解和应用Freemarker生成XML的技术。
在本篇文章中,我们将深入探讨FreeMarker的工作原理、使用方法以及它在解析后缀名文件时的角色。 1. **FreeMarker的基本概念** - **模板**: FreeMarker的工作核心是模板文件,通常以`.ftl`(FreeMarker Template ...
Springboot项目中: 1. 使用Apache POI 3.9 自定义样式导出Excel文件...2. 使用freemarker动态生成word .doc文档(带图片Word以及复杂格式word) 详细说明见个人博客及 github: https://github.com/DuebassLei/excel-poi
FreeMarker使用${...}表达式来插入变量,#{...}用于输出注释,以及、等控制结构进行条件判断和循环。然而,这些默认标签可能无法满足所有复杂的场景,因此自定义标签就显得尤为必要。 自定义FreeMarker标签通常涉及...