freemarker

SpringMVC整合FreeMarker实例

不羁的心 提交于 2020-03-24 01:23:31
FreeMarker作为模板引擎,是比较常用的。 FreeMarker官方文档地址为:https://freemarker.apache.org/ 现在浏览器或者翻译工具这么多,对于英文方面,我想大多数天天敲代码的,奋战在前线的同志们,对于很多编程实用单词应该不陌生,如果语文老师不是XX老师教的,我想通过Google或者其他翻译工具翻译一些意思,我想大家应该是可以看的懂,和判断是否存在问题的。 其实我个人英语,也不怎么样,曾经就采取过这样一种策略,来记单词,称之为"趣味单词记录法",这个法,我想只要将Good morning 读成鬼德莫你的人,应该能够很好的体会这种乐趣,记得正是这种乐趣,使我从学校到现在工作,对于英语也不是特别恐惧,当然了,这样也会导致很多问题,比如发音不标准等等。 这里不作讨论,这里想表达的还是希望,计算机专业的同胞或者其他转行或者感兴趣的朋友们,不要因为英语而停止对其研究学习或者放弃。 比如那些常见的Java代码生成器,基本都是通过编写ftl文件,也就是FreeMarker模板文件,通过调用对应的方法来达到代码生成的目的。 其实FreeMarker同JSP或者Volocity整合SpringMVC,并无多大的区别,web.xml基本都是那一套。 spring.xml配置的基本是扫描dao,扫描service,整合MyBatis或MyBatis

Read Java Object that leads to TemplateException in Freemarker template engine

人盡茶涼 提交于 2020-03-24 00:09:06
问题 I am writing a Java Utility to generate output files using freemarker template. I have a List of objects that I write into a file using freemarker. E.g. My java object is an employee having fName, lName and age. I am using following code snippet to generate the output file: <#list employees as e> Fname: ${e.fName} Lname: ${e.lName} Age: ${e.age} </#list> Now, I am using a custom template exception handler that handle exceptions in case fName, lName OR age is missing from the employee object.

FreeMarker导出复杂Excel

孤人 提交于 2020-03-23 09:59:13
最近业务需要做复杂的Excel导出功能,由于Execl样式复杂,本来想做基于标签占位符的导出,由于时间有限,没有时间预言和写demo,最后还是选择了基于POI的导出,就是样式复杂了点。 现在有时间研究了一下使用freemarker导出复杂的excel表格(word也是可以的)。 一、首先根据最终需要导出的excel表格的格式,用假数据填充后生成一个excel模板。 例如下面使我们要导出的人员信息。 二、Execl另存为.xml文件 如果报以下错误 请选择 三、通过Freemarker进行xml文件编辑 四、Java代码开发 <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.29</version> </dependency> 实体类: public class UserInfo { private String username; private Integer age; private String phone; private String sex; private String address; public String getUsername() { return username; } public void

freemarker【FTL】常见语法大全

ぃ、小莉子 提交于 2020-03-21 06:55:42
FreeMarker的插值有如下两种类型:1,通用插值${expr};2,数字格式化插值:#{expr}或#{expr;format} ${book.name?if_exists } //用于判断如果存在,就输出这个值 ${book.name?default(‘xxx’)}//默认值xxx ${book.name!"xxx"}//默认值xxx ${book.date?string('yyyy-MM-dd')} //日期格式 ${book?string.number} 20 //三种不同的数字格式 ${book?string.currency}--<#-- $20.00 --> ${book?string.percent}—<#-- 20% --> <#assign foo=ture /> //声明变量,插入布尔值进行显示 ${foo?string("yes","no")} <#-- yes --> 大小比较符号使用需要注意:(xml的原因),可以用于比较数字和日期 使用lt、lte、gt和gte来替代<、<=、>和>= 也可以使用括号<#if (x>y)> 内置函数: 调用区别于属性的访问,使用?代替. 常见的一些内置函数 对于字符串 html-对字符串进行HTML编码 cap_first-使字符串第一个字母大写 lower_case-将字符串转换成小写 trim

springboot整合freemarker

倖福魔咒の 提交于 2020-03-18 18:21:49
前言 本篇文章主要介绍的是springboot整合freemarker填充ftl模板文件,生成新的文件(如html),以及freemarker的语法。 GitHub源码链接位于文章底部。 freemarker介绍 freemarker是一款模板引擎,它基于模板来生成文本输出。这里的文本包括但不限于html页面,word,各种源代码文本...... 工作原理 模板:就是一份已经写好了基本内容,有着固定格式的文档,其中空出或者用占 位符标识的内容,由使用者来填充,不同的使用者给出的数据是不同的。在模板 中的占位符,在模板运行时,由模板引擎来解析模板,并采用动态数据替换占位 符部分的内容。 freemarker的应用方向有两个,一是基于ftl文件,将内容填充到ftl文件中,就可以使用制作ftl模板的文本的方式进行访问和显示了,比如使用html文本制作了一个ftl模板,我们使用代码填充数据进ftl模板,那么我们就能以访问html的方式去打开这个文件了;另一种方式则是直接生成对应的文件,比如生成xxx.html的文件。 应用场景 : 淘宝中的商品数不胜数,在商品的详情页这一块,如果全都以真实的html页面显示,那么有多少个商品就得有多少个页面了,何况还有增删改的情况。所以使用一个固定的ftl模板,填充数据,这样一个文件就能显示无数个页面的内容了。 再比如一些政府单位的项目

springboot(5) freemarker

こ雲淡風輕ζ 提交于 2020-03-18 13:52:20
1。pom文件引入依赖     <!--springboot 模板引擎 freemarker--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> 2.application.yml文件增加freemarker配置 spring: freemarker: enabled: true # 设置模板后缀名 suffix: .ftl # 设置文档类型 content-type: text/html # 设置页面编码格式 charset: UTF-8 # 设置页面缓存 cache: false # 设置ftl文件路径,默认是/templates,为演示效果添加role template-loader-path: classpath:/templates/ 3.java代码,返回页面 @GetMapping("list") public ModelAndView list(@RequestParam(name="pageNum", defaultValue="1")Integer pageNum, @RequestParam(name="pageSize", defaultValue="1

Spring mvc整合freemarker详解

a 夏天 提交于 2020-03-18 05:27:02
1.什么是FreeMarker FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序 虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(如下图) 2.FreeMarker特性 能够生成各种文本:HTML、XML、RTF、Java源代码等等 易于嵌入到你的产品中:轻量级;不需要Servlet环境 插件式模板载入器:可以从任何源载入模板,如本地文件、数据库等等 你可以按你所需生成文本:保存到本地文件;作为Email发送;从Web应用程序发送它返回给Web浏览器 3. springMVC整合Freemarker 1.添加jar包 添加freemarker的jar,还需要额外添加spring-content-support的jar包,不然会报错。 2.然后再Spring的配置文件中添加对freemarker的配置 <!-- 配置freeMarker的模板路径 --> <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name=

freemarker常用语法大全

走远了吗. 提交于 2020-03-17 10:19:11
某厂面试归来,发现自己落伍了!>>> 一、判断类型 freemarker中 感叹号、双感叹号、问号、双问号 的使用方法 1. ?? <!-- ??是判断对象是否为空(??是?exists的缩写) --> <#if object ??>${object}<#if> 如果object不为空,则执行里面语句。 2. ? ① 用?判断是否为空,和??类似,但要在?后面加上关键字 <!-- ?是"是否"的意思 --> <#if object?exists>${object}</#if> ② 其他的一些用法 eq: ${nowDate?time}: (将当前时间以时间的格式显示,如:11:11:11) ${nowDate?date} :(将当前时间以日期的格式显示,如:2018-8-3) 注意:time、date的format格式需要在freemarker.properties文件中配置,可以查看具体的API文档。 3. ! ①${object!}如果object为空则不执行 ②取反 <!-- 如果为空则执行 --> <#if !object ??>${object}<#if> 4. !!,它的用法是忽略list列表中的空值 es: <#list lists!! as list> 这里的lists当中有没有空值,当没有!!的话,freemarker会直接抛出异常的。 freemarker中文网

Java Web用Freemarker生成带图片的Word文档

旧城冷巷雨未停 提交于 2020-03-16 02:40:10
步骤一:模板制作 用world2003做一个导出模板,如果有图片则加入一张图片占位,将world另存为xml,将xml中需要导出的内容用Freemarker标签表示,最后另存为.ftl结尾的模板: 步骤二:后台代码 1、获取导出的数据: @RequestMapping(value = "/exportDoc") public void exportDoc(String resumeId,HttpServletResponse response,HttpServletRequest request) throws Exception{ User u= SessionUtils.getUser(request.getSession()); Map<String, Object> dataMap = new HashMap<String, Object>();// 要填入模本的数据文件 ResumeBasicInformationQueryParam resumeParam=new ResumeBasicInformationQueryParam(); resumeParam.setUuid(resumeId); WorkExperienceParam workExperienceParam=new WorkExperienceParam(); workExperienceParam

Spring mvc整合freemarker详解

只谈情不闲聊 提交于 2020-03-14 04:29:42
1.什么是FreeMarker FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序 虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(如下图) 2.FreeMarker特性 能够生成各种文本:HTML、XML、RTF、Java源代码等等 易于嵌入到你的产品中:轻量级;不需要Servlet环境 插件式模板载入器:可以从任何源载入模板,如本地文件、数据库等等 你可以按你所需生成文本:保存到本地文件;作为Email发送;从Web应用程序发送它返回给Web浏览器 3. springMVC整合Freemarker 1.添加jar包 添加freemarker的jar,还需要额外添加spring-content-support的jar包,不然会报错。 2.然后再Spring的配置文件中添加对freemarker的配置 <!-- 配置freeMarker的模板路径 --> <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name=