freemarker

SpringBoot集成Freemarker前端模板

扶醉桌前 提交于 2020-01-13 22:14:03
1、在pom.xml中引入freemarker的jar包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> 2、在resources/application.yml配置文件中添加 freemarker的配置信息 spring: freemarker: allow-request-override: false cache: true charset: UTF-8 check-template-location: true content-type: text/html; suffix: .ftl template-loader-path: classpath:/templates/ 3、创建PageController并添加index方法 package com.jeff.controller; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.springframework.stereotype.Controller; import org

Java: FreeMarker的配置和使用

匆匆过客 提交于 2020-01-13 21:59:39
初学什么都不可以忽略的地方就是这个东西的官方网站: http://freemarker.org/ 。下载或者API都可以参考这里。 FreeMarker是什么 非常的简单明了。FreeMarker是一个java包。实现了MVC模式,分离开发者和设计师。也就是分离html也java的代码。 FreeMarker是如何工作的 这是官网的图。非常明确的说明了FreeMarker是如何运作的。首先需要有一个template模板,在那里就是一堆的html标签和一些专属FreeMarker的标签,这些标签之后会被具体的数据代替。这些数据就是有左下的Java objects提供。 <FreeMarker> 就是工程中的Jar包。他把这些模板和Java objects的数据加工组合之后输出html页面。所以,FreeMarker的功能,就如官网中一直强调的,不是别的而是一个模板引擎。 在工程中最后把这些捏合在一起,让他们彼此知道、协同工作的是web.xml配置文件。这里先介绍web.xml的配置,之后具体说明如何一步一步的添加配置文件中涉及到的模板、java objects等。这样有利于读者从总体出发逐步把握每一个相关的细节。 <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun

Freemarker 使用

点点圈 提交于 2020-01-13 19:37:56
以下内容全部是网上收集: FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:<#-- ... -->格式部分,不会输出 3,插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出 4,FTL指令:FreeMarker指定,和HTML标记类似,名字前加#予以区分,不会输出 下面是一个FreeMarker模板的例子,包含了以上所说的4个部分 <html><br> <head><br> <title>Welcome!</title><br> </head><br> <body><br> <#-- 注释部分 --><br> <#-- 下面使用插值 --> <h1>Welcome ${user} !</h1><br> <p>We have these animals:<br> <u1><br> <#-- 使用FTL指令 --> <#list animals as being><br> <li>${being.name} for ${being.price} Euros<br> <#list><br> <u1><br> </body><br> </html> 1, FTL指令规则 在FreeMarker中,使用FTL标签来使用指令,FreeMarker有3种FTL标签

Liferay 7 Freemarker Template. staticUtil has evaluated to NULL or missing - Tried to get JournalArticle's Categories

孤者浪人 提交于 2020-01-13 19:29:28
问题 Hi fellow Liferay'ers, I'm trying to get the categories of a journalArticle with a Freemarker template. I tried this code: <#assign journalArticleId = .vars['reserved-article-id'].data> <#assign journalArticleResourceLocalServiceUtil = staticUtil["com.liferay.portlet.journal.service.JournalArticleResourceLocalServiceUtil"]> <#assign assetCategoryLocalServiceUtil = staticUtil["com.liferay.portlet.asset.service.AssetCategoryLocalServiceUtil"]> <#assign articleResourcePK =

FreeMarker template error! in struts2

不打扰是莪最后的温柔 提交于 2020-01-13 03:23:05
问题 I'm using sturts 2 annotation based validations in my class while dispalying action error i got this strange "FreeMarker template error!" This is my entity class. @Entity public class User implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long userid; private String userPhoneNumber; private String userName; private String password; private String full_name; private String useremail; @OneToOne private userType

Spring Boot2 系列教程(十)Spring Boot 整合 Freemarker

落爺英雄遲暮 提交于 2020-01-12 15:12:47
今天来聊聊 Spring Boot 整合 Freemarker。 Freemarker 简介 这是一个相当老牌的开源的免费的模版引擎。通过 Freemarker 模版,我们可以将数据渲染成 HTML 网页、电子邮件、配置文件以及源代码等。Freemarker 不是面向最终用户的,而是一个 Java 类库,我们可以将之作为一个普通的组件嵌入到我们的产品中。 来看一张来自 Freemarker 官网的图片: 可以看到,Freemarker 可以将模版和数据渲染成 HTML 。 Freemarker 模版后缀为 .ftl (FreeMarker Template Language)。FTL 是一种简单的、专用的语言,它不是像 Java 那样成熟的编程语言。在模板中,你可以专注于如何展现数据, 而在模板之外可以专注于要展示什么数据。 好了,这是一个简单的介绍,接下来我们来看看 Freemarker 和 Spring Boot 的一个整合操作。 实践 在 SSM 中整合 Freemarker ,所有的配置文件加起来,前前后后大约在 50 行左右,Spring Boot 中要几行配置呢? 0 行! 1.创建工程 首先创建一个 Spring Boot 工程,引入 Freemarker 依赖,如下图: <dependency> <groupId>org.springframework.boot<

Freemaker基于word模板动态导出

别等时光非礼了梦想. 提交于 2020-01-12 00:28:31
学习自: https://www.cnblogs.com/lsy-blogs/p/9243281.html 一、使用的jar包: 二、Word模板动态导出的基本思路: 1、首先通过自己在word中创建好需要导出的word文本+表格的模板,模板中需要填写内容的地方填写${},大括号内为后台传递进来的参数名,然后将该模板另存为xml格式; 2、对xml格式文件进行适当的修改: (1)修改${}所在的位置,让${}在一个标签内,因为替换值是根据${}进行识别的,因此必须让${}在一个标签内: (2)如果有需要循环输出的,需要添加<#list></>标签,类似于增强for循环,无论是表格还是文字只要是需要循环输出的,只要找好循环输出数据的标签,然后用<#list></>扩住,然后修改对应的循环输出数据的${}参数名即可: 三、使用freemaker实现word模板动态导出基本步骤: 1、项目中引入freemaker引擎的jar包: 2、将freemaker导出word的工具类放入项目中,并修改对应的word的xml模板所在的路径和名称: 3、编写代码,获取word中需要的对应的数据,最终存储到一个map中去(参数名必须要与word模板xml中对应的参数名保持一致): 4、编写总方法,将map中的结果数据传递给工具类中的方法,实现word导出; 5、通过以上几个步骤

FreeMarker---通过ftl导出word

社会主义新天地 提交于 2020-01-11 06:27:37
需求说明 继上次进行分页查询后,需要将这些查询出来的数据导出成word和Excel。 导出word的方式有很多种,这边使用FreeMarker来操作。 具体实现 1.目标数据 如图 2.word模板 如图 注意:如果需要排版的好看一些,最好在word中调整好样式。 3.转换ftl 将word的样式排版好后,将word另存为xml格式,之后将该文件的扩展名改成ftl格式,放置在项目的ftl文件夹下,如图: 4.引入freemarker 在pom.xml中引入freemarker: < !-- 引入freemarker - - > <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.29</version> </dependency> 5.代码实现 WordUtils.java package com . yzpt . utils ; import java . io . BufferedWriter ; import java . io . File ; import java . io . FileInputStream ; import java . io . FileOutputStream ; import java . io .

What are different ways to handle error in FreeMarker template?

纵饮孤独 提交于 2020-01-10 14:10:50
问题 How to suppress FreeMarker template error? I am looking here: http://freemarker.sourceforge.net/docs/pgui_config_errorhandling.html But I do not understand how to "TemplateExceptionHandler.IGNORE_HANDLER." I am using Struts2 and also how to show another ftl page instead of showing the stack trace? class MyTemplateExceptionHandler implements TemplateExceptionHandler { public void handleTemplateException(TemplateException te, Environment env, java.io.Writer out) throws TemplateException { try {

freemarker常用的方法

爱⌒轻易说出口 提交于 2020-01-08 16:46:00
FreeMarker 是一款 模板引擎 : 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 整理一些常用的方法 数据遍历 通过freemarker提供的遍历方法list,users就是要遍历的对象,user遍历之后返回的值 假设 users 包含 ['Joe', 'Kate', 'Fred'] 序列: <#list users as user> <p>${user} </#list><#list>必须要按照这样的格式去书写 如果想取值的限制,比如取前五个那就是对 users[0..4],和数组一样,都是从0开始的 判断条件   freemarker也提供的有对条件的判断和原生的js差不多,都是通过if else 去判断 <#if condition> ... <#elseif condition2> ... <#elseif condition3> ... ... <#else> ... </#if>condition, condition2, 等:将被计算成布尔值的表达式。 创建变量 freemarker为了方便存储一个变量,也给我们提提供了一个变量的方法, <#assign name1=value1 name2=value2 ... nameN=valueN> name :变量的名字。 它不是表达式