`

freemarker如何判空容错

阅读更多

freemarker如何判空容错呢? 

freemark是什么? 
freemark是java后台的模板语言 
如果模板使用vm中没有的变量就会报错 
怎么办呢? 
针对使用场景分为两种:

(1)用于页面显示

 

<span class="info-date">${old_order_startTime!'--'}

 使用感叹号,如果没有设置值,就使用感叹号后面的”–”为默认值 

 

实例: 

 

 

(2)用于if判断

 

<#if orderInfo.couponList??>
                <#list orderInfo.couponList as ite>
                    <p>- 红包:&nbsp;
                        ¥${ite.couponPay}</p>
                </#list>
            </#if>

 使用形式概览:unsafe_expr??或(unsafe_expr)??

 

这个操作符告诉我们一个值是否存在。基于这种情况,结果是 true 或 false。 示例如下,假设并没有名为 mouse 的变量:

 

<#if mouse??> Mouse found

<#else>

No mouse found </#if>

Creating mouse...

<#assign mouse = "Jerry"> <#if mouse??>

Mouse found <#else>

No mouse found </#if>

 输出为: 

 

No mouse found

Creating mouse…

Mouse found 
访问非顶层变量的使用规则和默认值操作符也是一样的,即 product.color??和 (product.color)??

(3)判断时也可以使用默认值



 

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>freemarker demo</title>
</head>
<body>
${username} <br />
${age}<br />
${sex!} <br>
<#if (sex!23) ==23 >
ok
<#else>
no
</#if>
</body>
</html>

 

 

(4)比较时必须是同类型的比较

int 和string 类型比较就会报错

freemarker 开发文档见附件

  • 大小: 20.6 KB
  • 大小: 26.8 KB
  • 大小: 17.3 KB
1
1
分享到:
评论

相关推荐

    freemarker判断对象是否为空的方法

    FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出,用FreeMarker判断对象是否为空的方法大家知道吗,这篇文章就针对这个知道点做介绍,需要的朋友可以参考下

    FreeMarker

    FreeMarker,FreeMarker

    安装freemarker插件(freemarker的eclipse插件)

    安装freemarker插件(freemarker的eclipse插件) a) 首先下载 freemarker-ide-0.9.14.zip(在这里不用下载了,附件中已经有了) b) 解压后:把hudson.freemarker_ide_0.9.14这个文件放到:eclipse\plugins下面 c) 发现...

    freemarker-2.3.31-API文档-中文版.zip

    赠送jar包:freemarker-2.3.31.jar; 赠送原API文档:freemarker-2.3.31-javadoc.jar; 赠送源代码:freemarker-2.3.31-sources.jar; 赠送Maven依赖信息文件:freemarker-2.3.31.pom; 包含翻译后的API文档:...

    freemarker-2.3.30-API文档-中文版.zip

    赠送jar包:freemarker-2.3.30.jar; 赠送原API文档:freemarker-2.3.30-javadoc.jar; 赠送源代码:freemarker-2.3.30-sources.jar; 赠送Maven依赖信息文件:freemarker-2.3.30.pom; 包含翻译后的API文档:...

    FreeMarker_Programmer Guide

    FreeMarker

    freemarker语法

    freemarker freemarker freemarker freemarker freemarker freemarker freemarker freemarker

    freemarker

    3,空标签:&lt;#directivename parameter/&gt; 实际上,使用标签时前面的符号#也可能变成@,如果该指令是一个用户指令而不是系统内建指令时,应将#符号改成@符号. 使用FTL标签时, 应该有正确的嵌套,而不是交叉使用,这和XML...

    freemarker\Freemarker教程_中文版

    freemarker\Freemarker教程_中文版

    freemarker替换变量实例

    freemarker替换变量实例

    Freemarker 实例,Freemarker 实例

    Freemarker 实例,Freemarker 实例Freemarker 实例,Freemarker 实例

    freemarker.jar

    camel-freemarker-1.6.4.jar, camel-freemarker-2.8.1.jar, com.springsource.freemarker-2.3.15.jar, com.springsource.freemarker-sources-2.3.15.jar, freemarker-1.4.1.jar, freemarker-2-3-18.jar, freemarker-...

    FreeMarker中文文档.pdf下载

    FreeMarker中文文档.pdf FreeMarker入门必修

    FreeMarker手册-Freemarker 2.3.18

    FreeMarker手册-Freemarker 2.3.18。。。。。。。。。。。。。。。。。

    eclipse的freemarker插件

    freemarker格式化的eclipse插件。用于freemarker的格式化。

    freemarker语法完整版

    Freemarker页面语法 A 概念 最常用的 3 个概念 sequence 序列,对应java 里的list 、数组等非键值对的集合 hash 键值对的集合 namespace 对一个ftl 文件的引用, 利用这个名字可以访问到该ftl 文件的资源 ...

    freemarker 自定义freeMarker标签

    NULL 博文链接:https://zhenghuazhi.iteye.com/blog/1923544

    FreeMarker-2.3.16 .chm

    FreeMarker api 2.3.16 FreeMarker api 2.3.16 FreeMarker api 2.3.16 FreeMarker api 2.3.16 FreeMarker api 2.3.16 FreeMarker api 2.3.16

Global site tag (gtag.js) - Google Analytics