后台管理项目freemarker 使用

freemarker 使用

后台管理项目,非前后端分离,通常使用freemarker、thymeleaf,下面介绍一些freemarker使用方法。

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

配置后缀 默认 .ftlh

spring:
  freemarker:
    suffix: .ftl

直接上代码

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8"/>
  <title></title>
</head>
<body>
FreeMarker模板引擎
<br/>
<p>
  nullList:<#if nullList??>true<#else>false</#if>
</p>
<p>
  nullList size:<#if nullList?? && nullList?size gt 0>true<#else>false</#if>
</p>

<p>
  emptyList:<#if emptyList??>true<#else>false</#if>
</p>

<p>
  emptyList has_content:<#if emptyList?has_content>true<#else>false</#if>
</p>



<p>
  emptyList size:<#if emptyList?size gt 0>true<#else>false</#if>
</p>

<p>
  dataList:
  <#if dataList??>
      <#list dataList as item>
          ${item!}
      </#list>
  </#if>
</p>

<p>nullStr: ${nullStr!}</p>
<p>nullStr !:  ${nullStr!}</p>
<p>nullStr Default: ${nullStr!'Default'}</p>
<p>emptyStr: ${emptyStr!''}</p>
<p>demoStr:  ${demoStr!''}</p>
<#--<p>nullStr?length:  ${nullStr?length}</p>-->
<p>emptyStr?length:  ${emptyStr?length}</p>
<p>demoStr?length:  ${demoStr?length}</p>

<p>nullStr ??:<#if nullStr??>true<#else>false</#if></p>
<p>emptyStr ??:<#if emptyStr??>true<#else>false</#if></p>
<p>nullStr has_content:<#if nullStr?? && nullStr?has_content>true<#else>false</#if></p>
<p>emptyStr has_content:<#if emptyStr?has_content>true<#else>false</#if></p>
<p>emptyStr?length :<#if emptyStr?length gt 0>${emptyStr}</#if></p>


<p>userName: ${userName!''}</p>
<p>useName length: ${userName?length}</p>
<p>useName upper_case: ${userName?upper_case}</p>
<p>userName uncap_first: ${userName?uncap_first}</p>
<p>userName cap_first: ${userName?cap_first}</p>



</body>
</html>

输出

nullList:false

nullList size:false

emptyList:true

emptyList has_content:false

emptyList size:false

dataList: 1 2 3

nullStr:

nullStr !:

nullStr Default: Default

emptyStr:

demoStr: demoStr

emptyStr?length: 0

demoStr?length: 7

nullStr ??:false

emptyStr ??:true

nullStr has_content:false

emptyStr has_content:false

emptyStr?length :

userName: userName

useName length: 8

useName upper_case: USERNAME

userName uncap_first: userName

userName cap_first: UserName

总结:

判断字符串非空

<#if str?? && str?has_content> 
// TODO
</#if>

<#if str?? && str?length gt 0> 
// TODO
</#if>

判断列表非空

<#if dataList?? && dataList?has_content> 
    <#list dataList as item>
        // TODO ${item!}
      </#list>
</#if>

<#if dataList?? && dataList?size gt 0> 
    <#list dataList as item>
        // TODO ${item!}
    </#list>
</#if>
  • ?? 判断左侧的变量是否丢失,相当于java中的null的判断,或者这个变量是否未定义。
  • ?表示调用对象的方法,对象必须存在. str?length, list?size
  • ! 用来给变量一个默认值,str!”defaultValue”
上一篇:微信公众平台开发模式 微信 语音识别 公众平台 消息接口 语音识别


下一篇:Zepto swipe 在安卓、微信 无效的解决方法