freemarker

spring boot 整合freemaker

怎甘沉沦 提交于 2019-11-28 14:40:45
前端最好使用vue.js 这里是freemaker 整合spring boot 1.编写pom文件: <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> 2.编写cotroller: @RequestMapping("/b") public String b( Map<String,Object> map) { Student s1=new Student("a","f",1,"aa"); Student s2

freemarker导出复杂样式的Excel

拜拜、爱过 提交于 2019-11-28 13:37:49
freemarker导出复杂样式的Excel 代码地址: gitee https://gitee.com/suveng/demo/tree/master/chapter.002 代码存放于demo下面的chapter.002目录下, 每个模块都是独立开的springboot应用,可以直接运行 application 环境 springboot 2.1.2 Freemarker 2.3.28 JDK1.8 步骤 1.找到对应Excel模板 我在网上找了一网站下载了一个Excel模板, 地址 下载的文件是 2018库存表 2.Excel模板导出为xml格式 将其导出为xml格式;直接文件另存为即可 删除多余的数据, 将模板变量填进去, 这个变量是需要符合 freemarker 的变量规则的; 具体内容可参考 文件 3.替换freemarker变量 关键修改: <#list products as product> <Row> <Cell> <Data ss:Type="String">${product.name!}</Data> </Cell> <Cell> <Data ss:Type="String">${product.number!}</Data> </Cell> <Cell> <Data ss:Type="String">${product.type!}</Data> <

网页静态化技术Freemaker

大憨熊 提交于 2019-11-28 13:20:19
主要是为了从后台抓数据,生成一个静态页面,   网络静态化技术和缓存技术的共同点都是为了减轻数据库的访问压力,具体应用的场景不同,缓存表叫适合小规模的数据,网页静态化比较适合大规模且相对变化不频繁的数据,网页静态化有利于SEO(搜索引擎的优化,网络营销)   将网页以纯静态化的形式展现,要使用Nginx这样的高性能的web服务器来部署,Nginx可以承载5W并发量,tomcat只有几百 Freemarker:   用java语言编写的模板引擎   模板文件四种元素   1、文本,直接输出的部分   2、注释,即<#--...-->格式不会输出   3、插值(Interpolation):即${..}部分,将使用数据模型中的部分替代输出,类似EL表达式   4、FTL指令:FreeMarker指令,和HTML标记类似,名字前加#予以区分,不会输出。 一、导入依赖 <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</version> </dependency> 二、java程序 public static void main(String[] args) throws Exception { { //创建配置类,参数当期那版本号

Freemarker入门Demo

元气小坏坏 提交于 2019-11-28 12:52:48
1:工程引入依赖 <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</version> </dependency> 2:创建模板文件 模板文件中四种元素 1、文本,直接输出的部分 2、注释,即<#--...-->格式不会输出 3、插值(Interpolation):即${..}部分,将使用数据模型中的部分替代输出 4、FTL指令:FreeMarker指令,和HTML标记类似,名字前加#予以区分,不会输出。 我们现在就创建一个简单的创建模板文件test.ftl <html> <head> <meta charset="utf-8"> <title>Freemarker入门小DEMO </title> </head> <body> <#--我只是一个注释,我不会有任何输出 --> ${name},你好。${message} </body> </html> 这里有文本、插值和注释 3:生成文件 使用步骤: 第一步:创建一个 Configuration 对象,直接 new 一个对象。构造方法的参数就是 freemarker的版本号。 第二步:设置模板文件所在的路径。 第三步:设置模板文件使用的字符集。一般就是 utf-8. 第四步:加载一个模板

网页静态化技术Freemarkerh简介

六月ゝ 毕业季﹏ 提交于 2019-11-28 12:09:42
1.1 为什么要使用网页静态化技术 网页静态化解决方案在实际开发中运用比较多,例如新闻网站,门户网站中的新闻频道或者是文章类的频道。 对于电商网站的商品详细页来说,至少几百万个商品,每个商品又有大量的信息,这样的情况同样也适用于使用网页静态化来解决。 网页静态化技术和缓存技术的共同点都是为了减轻数据库的访问压力,但是具体的应用场景不同,缓存比较适合小规模的数据,而网页静态化比较适合大规模且相对变化不太频繁的数据。另外网页静态化还有利于 SEO 。 另外我们如果将网页以纯静态化的形式展现,就可以使用 Nginx 这样的高性能的 web 服务器来部署。 Nginx 可以承载 5 万的并发,而 Tomcat 只有几百。关于 Nginx 我们在后续的课程中会详细讲解。 今天我们就研究网页静态化技术 ----Freemarker 。 1.2 什么是 Freemarker FreeMarker 是一个用 Java 语言编写的模板引擎 ,它基于模板来生成文本输出。 FreeMarker 与 Web 容器无关,即在 Web 运行时,它并不知道 Servlet 或 HTTP 。它不仅可以用作表现层的实现技术,而且还可以用于生成 XML , JSP 或 Java 等。 来源: https://www.cnblogs.com/wangju/p/11938882.html

使用freemarker生成word文档时特殊字符的处理

爱⌒轻易说出口 提交于 2019-11-28 09:47:36
在使用freemarker生成word的时候遇到某些生成的文件无法打开的问题,经过排查发现是因为特殊符号插入到模板里导致文档结构发生了错误,于是将所有特殊符号放在word文件里,再另存为xml文件,查看word是怎么保存特殊符号的 发现只有&,<,>被转义了,所以只要将这三个符号转义就可以了 value.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;"); 来源: oschina 链接: https://my.oschina.net/u/871551/blog/669870

ClassNotFoundException FreeMarkerConfigurationFactory

你离开我真会死。 提交于 2019-11-28 07:02:31
问题 I have a big web application that uses FreeMarker. When I recently updated to Spring 3.2.4 and ran the web app via jetty or tomcat I get the following exception: java.lang.ClassNotFoundException: org.springframework.ui.freemarker.FreeMarkerConfigurationFactory. I know that Spring-webmvc has the FreeMarkerConfigurationFactory class in it so I have the dependency included in my POM. I do not know why I´m getting the exception. I have included my POM and my spring servlet. <?xml version="1.0"

Setting freemarker template from classpath

北城余情 提交于 2019-11-28 06:45:19
I have a web application that I need to manually obtain a Freemarker template - the template is obtained via a class in a library project, but the actual tpl file is contained in the web application classpath. So, there are 2 projects, one 'taac-backend-api' and another 'taac-web'; taac-backend-api has the code to grab the template, and process it, but taac-web is where the template is stores (specifically in: WEB-INF/classes/email/vendor.tpl) - I have tried everything from using springs classpath resource to using Freemarkers setClassForTemplateLoading method. I assume this would work:

How to check if a variable exists in a FreeMarker template?

百般思念 提交于 2019-11-28 02:53:10
I have a Freemarker template which contains a bunch of placeholders for which values are supplied when the template is processed. I want to conditionally include part of the template if the userName variable is supplied, something like: [#if_exists userName] Hi ${userName}, How are you? [/#if_exists] However, the FreeMarker manual seems to indicate that if_exists is deprecated, but I can't find another way to achieve this. Of course, I could simple providing an additional boolean variable isUserName and use that like this: [#if isUserName] Hi ${userName}, How are you? [/#if] But if there's a

Freemarker parse a String as Json

大憨熊 提交于 2019-11-28 01:00:52
问题 Probably it's not possible, but I would like to transform a json string in a map with freemarker ex: <#assign test = "{\"foo\":\"bar\", \"f\":4, \"text\":\"bla bla\"}"> and be able to get the text key from this string 回答1: Use ?eval . It works because JSON maps happen to be valid FreeMarker expressions (update: except that null is not recognized in FreeMarker 2.3.x). <#assign test = "{\"foo\":\"bar\", \"f\":4, \"text\":\"bla bla\"}"> <#assign m = test?eval> ${m.foo} <#-- prints: bar --> <#--