freemarker
FreeMarker常用方式总结及问题解决
星期三, 八月 2nd, 2023 | JAVA-and-J2EE | 没有评论
概念
FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配 置文件,源代码等)的通用工具。 是一个Java类库。
FreeMarker 被设计用来生成 HTML Web 页面,特别是基于 MVC 模式的应用程序,将视图从业务逻辑中抽离处理, 业务中不再包括视图的展示,而是将视图交给 FreeMarker 来输出。虽然 FreeMarker 具有一些编程的能力,但通常 由 Java 程序准备要显示的数据,由 FreeMarker 生成页面。通过模板显示准备的数据(如图):
需要注意:
FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组
FreeMarker与容器无关,因为它并不知道HTTP或Servlet。FreeMarker同样可以应用于非Web应用程序环境
FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库。
Freemarker环境搭建
${变量} 表达式
后端返回数据Model
request.setAttribute("msg","hello word"); |
页面使用 ${} 语法
<h1>${msg}</h1> |
渲染后显示
hello word |
freemarker数据类型
freemarker模板中的数据类型主要由如下几种:
布尔型:等价于 Java 的 Boolean 类型,不同的是不能直接输出,可转换为字符串输出
日期型:等价于 java 的 Date 类型,不同的是不能直接输出,需要转换成字符串再输出
数值型:等价于 java 中的 int,float,double 等数值类型 有三种显示形式:数值型(默认)、货币型、百分比型
字符型:等价于 java 中的字符串,有很多内置函数
sequence 类型:等价于 java 中的数组,list,set 等集合类型
hash 类型:等价于 java 中的 Map 类型
布尔型
数据
request.setAttribute("flag", true); |
获取
// 方式一 ${flag?c} // 方式二 ${flag?string} // 方式三 ${flag?string("yes","no")} |
这里用到的是freemarker的内置函数,如 ?c 和 ?string,前面说到了,布尔型的数据是不能直接输出的,需要对其进行转换,转换为字符串才能正常输出。所以 ?c 和 ?string都是把其它类型转换为字符串类型的内置函数。
› Continue reading
freemarker循环、日期格式化、常用汇总
星期六, 八月 15th, 2020 | JAVA-and-J2EE, spring-boot | 2 Comments
首先权威地址官方地址:https://freemarker.apache.org/
中文版使用手册地址:http://freemarker.foofun.cn/toc.html
1.日期格式及解决日期为NULL报错的写法
${(user.birthday?string("yyyy-MM-dd"))!} //--或者-- ${(user.birthday?string("yyyy-MM-dd"))!'--'} |
2.判断对象是否存在再进行操作
<#if user?? >「${user.name }」<#else>无</#if> |
3.循环及计数使用
<#list listUser as user> <#if user?? >「${user.name }」<#else>无</#if> <#if user?counter gt 3 > ${user.email} </#if> </#if> |
springboot升级到2.2.4版本freemarker出现404
星期日, 一月 26th, 2020 | JAVA-and-J2EE | 没有评论
今天看到spring mvc 有漏洞提醒升级,就把spring boot从2.1.4版本升级到2.2.4版本
github警告 springmvc 5.0系列5.0.16以下 5.1系列5.1.13以下,5.2系列5.2.3以下,springboot 2.2.4以下都有安全漏洞
换了后没有发现编译错误,启动后试了下,发现页面都是404了,网上查了下,是FreeMarkerViewResolver的缺省配置文件
改了suffix 由原来的ftl 改成ftlh了,详情可以参见源码,现记下处理方式:
1.改原来的ftl文件扩展名ftl改成ftlh 可以解决(对于老工程不适合)
2.修改application.properties 文件
#spring spring.freemarker.suffix=.ftl 更多其他配置: spring.freemarker.cache=false spring.freemarker.suffix=.ftl spring.freemarker.templateLoaderPath=classpath:/templates/ spring.resources.static-locations=classpath:/static/ |
freemarker2.3.14 down 下载和对应的api
星期五, 十一月 28th, 2008 | JAVA-and-J2EE | 没有评论
看到好的搜索直接搜到自己的blog,我只是提供了个对应的api地址,现也把要下载的文件放到上面去
官方下载地址:freemarker2.3.14 down
官方api:freemarker2.3.14 api
本站提供的下载:freemarker-2314tar
Search
相关文章
热门文章
最新文章
文章分类
- ajax (10)
- algorithm-learn (3)
- Android (6)
- as (3)
- computer (85)
- Database (30)
- disucz (4)
- enterprise (1)
- erlang (2)
- flash (5)
- golang (3)
- html5 (18)
- ios (4)
- JAVA-and-J2EE (186)
- linux (143)
- mac (10)
- movie-music (11)
- pagemaker (36)
- php (50)
- spring-boot (2)
- Synology群晖 (2)
- Uncategorized (6)
- unity (1)
- webgame (15)
- wordpress (33)
- work-other (2)
- 低代码 (1)
- 体味生活 (40)
- 前端 (21)
- 大数据 (8)
- 游戏开发 (9)
- 爱上海 (19)
- 读书 (4)
- 软件 (3)