freemarker

Setting freemarker template from classpath

匿名 (未验证) 提交于 2019-12-03 01:23:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 由 翻译 强力驱动 问题: 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

flying-saucer-pdf预览及下载

匿名 (未验证) 提交于 2019-12-03 00:30:01
找阿里编程规范的时候在github上搜索到的,觉得pdf像书籍一样的翻页比较自由,也是手痒吧。 启发开源项目 github-pdf-demo 页面是自己凑凑的看一下图: package com.bamboo.markdown.paper.common; import com.lowagie.text.DocumentException; import com.lowagie.text.pdf.BaseFont; import freemarker.template.Template; import freemarker.template.TemplateException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.util.CollectionUtils; import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer; import org.w3c.dom.Document; import org.xhtmlrenderer.pdf.ITextFontResolver; import org.xhtmlrenderer.pdf.ITextRenderer;

SpringBoot整合Freemarker

匿名 (未验证) 提交于 2019-12-03 00:27:02
摘自百度百科 SpringBoot整合Freemarker第一步:首先就是要引入Freemarker的依赖 <!-- 引入freeMarker的依赖包. --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> 第二步:再resources目录下创建存放Freemarker模板的目录,命名为templates(注意这里取templates,Freemarker默认路径就是resources下的templates),同时创建好模板 this is icloudit <br> ${name} ${sex} <#if sex==1> 男 <#elseif sex==2> 女 <#else> 其他 </#if> <#list userlist as user> ${user} </#list> 第三步:编写controller类 /*@RestController//表示该接口全部返回的是json格式的结果 */ @Controller public class IndexController { @RequestMapping("/indexcontroller") public

freemaker学习笔记

匿名 (未验证) 提交于 2019-12-03 00:25:02
一、 freemarker 是一个基于 java 的模板引擎。是 mvc 中 View 视图层的促进。 1. 分离表现层和业务逻辑。 2. 可以提高开发效率 3. 使得开发过程中的人员分工更加明确 二、 view 解析 model 数据 1. 基本数据取值 String / int / long / double / boolean username --> $ { username ! } ! 代表 username 为 null ,不显示 boolean username = true --> $ { username ? String ( 'yes' , 'no' )} 转义为 yes , no 不能显示 true 、 false null 值 $ { null ! '我是空变量' } missing 变量不存在 $ { missing ! '我是不存在' } List < User > userList --> < # list userList as item > $ { item . name } -- $ { item . birthday ? String ( 'yyyy-MM-dd HH:mm:ss' )} < / list > 转义日期, freemaker 识别 sql 包下的 Date ,不识别 util 包下的 Date ,需要转义。 2. 变量赋值、运算

##Freemarker模板引擎的分享

匿名 (未验证) 提交于 2019-12-03 00:13:02
网页静态化技术 -Freemarker 原因: 在我们开发过程中,一般会大量的网页静态化部分的解决问题,例如新闻网站的那些静态新闻,再比如我们大型的电商项目,每个商品的详情页,都是一些静态资源,如果每次用户访问都要去数据库中访问,那么无疑会造成高并发的现象,而且造成资源的浪费。 SEO Nginx web Nginx 5 Tomcat FreeMarker Java FreeMarker Web Web Servlet HTTP XML JSP Java <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</version> </dependency> 以前的时候可能我们还写过信,或者现在很多人也会写请假条之类的,会发现那个东西是不是一种模板呢? 亲爱的**,你好! ************************************************************************         署名:         日期: 那么我们今天就来创建一个: <html> <head> <meta charset="utf-8"> <title>Freemarker入门小DEMO </title> </head>

玩转 SpringBoot 2 快速整合 | FreeMarker篇

匿名 (未验证) 提交于 2019-12-03 00:08:02
模板引擎 :一个Java库,用于根据模板和更改数据生成文本输出(HTML网页,电子邮件,配置文件,源代码等)。模板是用FreeMarker模板语言(FTL)编写的,这是一种简单的专用语言(不像PHP这样的完整编程语言)。通常,使用通用编程语言(如Java)来准备数据(发布数据库查询,进行业务计算)。然后,Apache FreeMarker使用模板显示准备好的数据。在模板中,您将专注于如何呈现数据,而在模板之外,您将关注于要呈现的数据。 SpringBoot 官方比较推荐使用 Thymeleaf,由于自己对 FreeMarker 相对比较熟悉,所以这里我先介绍一下如何在 SpringBoot 中使用 FreeMarker 当前前端页面使用。 FreeMarker 官网 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> 第二步是在resources 下 templates 创建test目录新建 freemarkDemo.ftl 内容如下: <h1>${msg}</h1> @Controller @RequestMapping("/hello") public class

FreeMarker 入门示例

匿名 (未验证) 提交于 2019-12-03 00:08:02
FreeMarker 是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生 成输出文本( HTML 网页、电子邮件、配置文件、源代码等)的通用工具。 工作原理 模板(基于 freemarket 语法编写的. ftl 文件) + 数据模型( java 对象) = 输出( html 、 xml 、 java 、 jsp 等文件) 1. 创建工程 2. 添加依赖 <dependencies> <dependency> <groupId> org.freemarker </groupId> <artifactId> freemarker </artifactId> <version> 2.3.23 </version> </dependency> <dependency> <groupId> junit </groupId> <artifactId> junit </artifactId> <version> 4.12 </version> </dependency> </dependencies> 3. 创建模板文件 <!DOCTYPE html> <html lang = "en" > <head> <meta charset = "UTF-8" > <title> Freemarker 测试 </title> </head> <body> <#--这是 freemarker注释

spring boot 整合freemaker

匿名 (未验证) 提交于 2019-12-02 23:55:01
前端最好使用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 (

freemarker导出复杂样式的Excel

匿名 (未验证) 提交于 2019-12-02 23:55:01
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 我在网上找了一网站下载了一个Excel模板, 地址 下载的文件是 2018库存表 将其导出为xml格式;直接文件另存为即可 删除多余的数据, 将模板变量填进去, 这个变量是需要符合 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> </Cell> <Cell> <Data ss:Type = "String" > ${product.unit!} </Data> <

freemarker list集合去重,实现hashset

匿名 (未验证) 提交于 2019-12-02 23:45:01
在freemarker中没有提供去重的方法,虽然有提供定义hash的方法,如:<#assign myHash = { "name": "mouse", "price": 50 }>,但是不能够动态构建hash。 通常我们会在java代码中进行处理,比如使用set集合、map对象处理。 但是如果一定要在freemarker文件中实现还是可以做到的,如下代码所示: introspectedTable.allColumns为java传递过来的ArrayList集合。下面进行去重处理 <#list introspectedTable.allColumns as allColumns> <#list introspectedTable.allColumns as allColumns2> <#if allColumns.fullyQualifiedJavaType.fullyQualifiedNameWithoutTypeParameters ==allColumns2.fullyQualifiedJavaType.fullyQualifiedNameWithoutTypeParameters> <#if allColumns_index==allColumns2_index> import ${allColumns.fullyQualifiedJavaType