freemarker

FreeMarker Current Date Comparison

十年热恋 提交于 2019-12-05 17:52:33
问题 Is it possible to do date comparisons against the current date in a freemarker template without passing the current date into the template? 回答1: From FreeMarker 2.3.17 on you can use the new special variable .now: [#assign foo = .now > yesterday?datetime] 回答2: In case someone else has this issue. I was comparing 2 dates [#assign .now?date lte today?date] (they both were 10/10/2019 ) but for some reason it was false even though it was equal, so what I had to do was [#assign .now?string["dd/MM

Freemarker For loop

对着背影说爱祢 提交于 2019-12-05 17:49:05
Is their any way to traverse list item based on their rather than one by one? I want to traverse a list of fields in 1,3,5,7,9 and 2,4,6,8 order. I tried using like this <#list section.field as field> <div class="col1"> ${field.@label}:<input type="text"/></div> <#if field_has_next> <div class="col2"> ${field[field_index+1].@label}:<input type="text"/> </div> </#if> </#list> But it gave me error. This is what ?chunk is for ( http://freemarker.org/docs/ref_builtins_sequence.html#ref_builtin_chunk ): <#list section.field?chunk(2) as row> <#list row as field> <div class="col${field_index + 1}"> $

springboot模板

限于喜欢 提交于 2019-12-05 17:16:32
1、thymeleaf 模板 2.Freemarker 模板 Thymeleaf 模板 首先导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> 来看一下我整个项目的目录结构 application.yml里面 Thymeleaf的配置 server: port: 8080 servlet: context-path: /ssm spring: # freemarker: # suffix: .ftl # content-type: text/html # charset: UTF-8 # cache: false # template-loader-path: classpath:/templates/freemarker thymeleaf: cache: false 对应的后台代码 package com.hmc.springboot01.controller; import com.hmc.springboot01.model.Student; import org.springframework.stereotype.Controller; import org

freemarker入门

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

How do I use a template code generator (eg freemarker) in Maven?

人盡茶涼 提交于 2019-12-05 15:56:44
问题 How would you structure Freemarker (or an alternative) as a templating code generator into a Maven project? I'm pretty new to Maven and would appreciate some help. I want to generate some code from templates in my project. [a] Rather than write my own, googling found freemarker which appears to be used by Spring which is a good enough reference for me, though as I haven't started with it yet, any other suggestions that work well with Maven would be appreciated too. This website tells me how

Freemarker在replace替换是对NULL值的处理

与世无争的帅哥 提交于 2019-12-05 14:50:23
   freemarker的对象调用内建函数时,比如userInfo对象的birthDay函数,页面${userInfo.birthDay}调用,当我想将birthDay值中的“-”替换为“/”时,${userInfo.birthDay?replace("-", "/")}当birthDay有值时可以实现,当birthDay为null时就会报错。   替换处理null值时可以这样处理: ${(userInfo.birthDay?replace('-', '/'))!} //通过 ! 来压制报错信息.       亲测可用! 来源: https://www.cnblogs.com/Maoscn/p/11929227.html

Reading ServletOutputStream to String

荒凉一梦 提交于 2019-12-05 11:41:46
I am trying to read the result of FreemarkerView rendering: View view = viewResolver.resolveViewName(viewName, locale); view.render(model, request, mockResponse); To read the result, I have created mockResponse , which encapsulates the HttpServletResponse: public class HttpServletResponseEx extends HttpServletResponseWrapper { ServletOutputStream outputStream; public HttpServletResponseEx(HttpServletResponse response) throws IOException { super(response); outputStream = new ServletOutputStreamEx(); } @Override public ServletOutputStream getOutputStream() { return outputStream; } @Override

FreeMarker模板文件基本语法

谁说胖子不能爱 提交于 2019-12-05 11:29:08
FreeMarker模板文件原样输出EL表达式看下面代码: 文件将会直接输出.看如下代码: ${r"${queryPage.page}"} ${r"C:\foo\bar"} 输出结果是: ${queryPage.page} C:\foo\bar ------------------------------------------------------------------------------------------------------------ FreeMarker模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1.文本:直接输出的部分 2. 注释:格式部分,不会输出 3. 插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出 4. FTL指令:FreeMarker指定,和HTML标记类似,名字前加#予以区分,不会输出 ------------------------------------------------------------------------------------------------------------- 下面是一个 FreeMarker模板 的例子,包含了以上所说的4个部分 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 < html

freemarker总结

我的未来我决定 提交于 2019-12-05 11:28:56
Freemarker 使用总结 FreeMarker模板文件主要由如下4个部分组成: 文本:直接输出部分 注释:<!-- …-->格式部分,不输出 插值:即${}或者#{}部分,使用数据模型中的部分替代输出. FTL指令:freemarker指定,和html标记类似,名字前加#予以区分,不会输出. 一. Freemarker指令规则 前面的#可以变为@, ,如果该指令是一个用户指令而不是系统内建指令时,应将#符号改成@符号. FreeMarker会忽略FTL标签中的空白字符,值得注意的是< , /> 和指令之间不允许有空白字符. a) 开始标签<#directivename parameter> b) 结束标签</#directivename> c) 空标签:<#directivename parameter/> 二. Freemarker插值规则 a) 通用插值${expr}; i. 插值结果为字符串值:直接输出表达式结果 ii. 插值结果为数字值:根据默认格式(由#setting指令设置)将表达式结果转换成文本输出.可以使用内建的字符串函数格式化单个插值 iii. 插值结果为日期值:根据默认格式(由#setting指令设置)将表达式结果转换成文本输出.可以使用内建的字符串函数格式化单个插值 iv. 插值结果为布尔值:根据默认格式(由#setting指令设置

Spring Freemarker Configuration, Template Not Found

回眸只為那壹抹淺笑 提交于 2019-12-05 11:27:29
I have a Spring/JSF Web application which has a dependency to a module uses Freemarker templates. Here is what i did for integration: I imported the applicationContext-freemarker-module.xml to applicationContext.xml I added the configuration bean to applicationContext-freemarker-module.xml like below. <bean id="freemarkerConfiguration" class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean"> <property name="templateLoaderPath" value="classpath*:/"/> </bean> I put my templates to src/main/resources directory of freemarker module. I am reading the templates like below: