专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

springboot和freemarker开发web应用

1、创建springboot项目,导入web开发包

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>

2、application.properties添加freemarker配置项

spring.freemarker.enabled=true
spring.freemarker.cache=false
spring.freemarker.charset=UTF-8
spring.freemarker.content-type=text/html
spring.freemarker.suffix=.ftl
spring.freemarker.check-template-location=true
spring.freemarker.template-loader-path=classpath:/templates
spring.freemarker.expose-request-attributes=true
spring.freemarker.expose-session-attributes=true
spring.freemarker.expose-spring-macro-helpers=true
spring.freemarker.request-context-attribute=request
spring.freemarker.settings.default_encoding=UTF-8
spring.freemarker.settings.output_encoding=UTF-8
spring.freemarker.settings.url_escaping_charset=UTF-8
spring.freemarker.settings.tag_syntax=auto_detect
spring.freemarker.settings.locale=zh_CN
spring.freemarker.settings.datetime_format=yyyy-MM-dd HH:mm:ss
spring.freemarker.settings.date_format=yyyy-MM-dd
spring.freemarker.settings.time_format=HH:mm:ss

示例源码 :https://gitee.com/lion123/springboot-freemarker-demo

freemarker常用语法

0、null值的处理

!: #指定缺失变量的默认值
??: #判断某个变量是否存在
${val!} #为null输出空白
${val!”默认值”} #指定默认值

1、字符串输出

${user.name?if_exists}      // 变量存在,输出该变量,否则不输出
${user.name!}          // 变量存在,输出该变量,否则不输出
${user.name?default(“xxx”)} // 变量不存在,取默认值xxx
${user.name!”xxx”}        // 变量不存在,取默认值xxx

${”123
456″?html}   // 对字符串进行HTML编码,对html中特殊字符进行转义
${”str”?cap_first}    // 使字符串第一个字母大写
${”Str”?lower_case} // 将字符串转换成小写
${”Str”?upper_case} // 将字符串转换成大写
${”str”?trim} // 去掉字符串前后的空白字符

$ {“你好$ {user.name!}”} //输出你好+变量名
$ {“hello”+ user.name!} //使用+号来连接,输出你好+变量名

<#assign str =“abcd123”/>
$ {str?substring(0,4)} //输出abcd
$ { str [ 0 ] } $ {str [4]} //结果是a2
$ {str [1..4]} //结果是bcd1
$ {str?index_of(”n”)} //返回指定字符的索引

2、if判断

<#if count > 0>

<#elseif ==0>

<#else>

</#if>

3、集合遍历

1)list

<#list arrays as item>
${item_index} # 取索引下标
${item.id} # 取值
</#list>

2) map

<#if map??>
<#list map?keys as key>
key:${key!}
value:${map[key]!}
<#– 如果value是个对象 ${map[key].id!}–>
</#list>
</#if>

4、时间输出

${date?date} #解析日期
${date?time} #解析时间
${date?datetime} #解析日期+时间
${date?string(‘yyyy/MM/dd HH:mm:ss’)} #自定义格式

5、数字输出

假设account.money 10
$ {account.money?string.number} //输出10
$ {account.money?string.currency} //¥10.00
$ {account.money?string.percent} //10%
$ {1.234?int} //将小数转为int,输出1

<#setting number_format =”percent”/> //设置数字默认输出方式(’percent’,百分比)
<#assign content=123 /> //声明变量回答123
#{content} //输出123
${content?string} //输出1,230%
${content?string.number} //输出12
${content?string.currency} //输出¥123.0
${content?string.percent} //输出1,230%

数字格式化插值可采用#{expr; format}形式来格式化数字,其中格式可以是:
mX:小数部分最小X位
MX:小数部分最大X位
如下面的例子:
<#assign x = 2.582 /> <#assign y = 4 />
#{x; M2} //输出2.58
#{y; M2} //输出4
#{x; m2} //输出2.58
#{Y; m2} //输出4.0
#{x; m1M2} //输出2.58
#{x; m1M2} //输出4.0

int 对余数取整
<#assign x=5>
${ (x/2)?int } # 2
${ 1.1?int } # 1

6、申明变量

<#assign foo = false /> //声明变量,插入布尔值进行显示,注意不要用引号
$ {foo?string(”yes”,”no”)} //当为真时输出”yes”,否则输出”no”

7、引入外部文件

1)include引入外部文件
<#include “head/hearder.ftl”>
2)import 引入外部文件
将引入的文件,放到一个变量中 可以配合macro指令使用
<#import “head/hearder.ftl” as head>

文章永久链接:https://tech.souyunku.com/24981

未经允许不得转载:搜云库技术团队 » springboot和freemarker开发web应用

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们