`

freemarker处理不存在的变量

 
阅读更多
在实际应用中数据模型经常会有可选的变量。除了
一些典型的人为原因导致失误,FreeMarker 不能容忍引用不存在的。
一个不存在的变量和一个是null 的变量,对于FreeMarker 来说是一样的,所以这里所指的丢失包含这两种情况。


1.不论在哪里引用变量,都可以指定一个默认值来避免变量丢失这种情况,通过在变量名
后面跟着一个!和默认值。

eg:
<h1>Welcome ${user!"yale"}!</h1>或者<h1>Welcome ${user!' '}!</h1>

2.当然也可以在变量名后面通过放置??来询问FreeMarker 一个变量是否存在。将它和if
指令合并,那么如果user 变量不存在的话将会忽略整个代码。

eg:
<#if user??><h1>Welcome ${user}!</h1></#if>

对于多级访问变量也是如此:<#if (animals.python.price)!0>....</#if> 或者<#if (animals.python.price)??>....</#if>

分享到:
评论

相关推荐

    freemarker替换变量实例

    freemarker替换变量实例

    freemarker语法完整版.doc

    在Freemarker中,存在五种基本概念:Scalars、Hashes、Sequences、Collection Variables和Methods。 1. Scalars:Scalars是最基本的数据类型,用于存储单值字符串、数字、日期和布尔值。字符串可以由单引号或双引号...

    Freemarker 实例,Freemarker 实例

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

    Freemarker模版公用方法

    使用Freemarker模版生成不同的静态文件,该工具类使用简单,方法说明:包含所需的参数,可以进行二次封装

    spring boot 和 freemaker 全局变量

    Spring MVC配置Freemarker全局变量,实现应用全路径

    FreeMarker

    FreeMarker,FreeMarker

    freemarker中文API手册

    3. 通用数据模型:FreeMarker不直接反射到Java对象,而是通过插件式对象封装,以变量方式在模板中显示。 4. 为Web准备:内建处理典型Web相关任务,能够集成到Model2 Web应用框架中作为JSP的替代,支持JSP标记库。 5....

    freemarker语法完整版

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

    freemarker

    如果全用不存在的指令,FreeMarker不会使用模板输出,而是产生一个错误消息.FreeMarker会忽略FTL标签中的空白字符.值得注意的是, /&gt; 和指令之间不允许有空白字符. 2, 插值规则 FreeMarker的插值有如下两种类型:1,...

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

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

    FreeMarker_Programmer Guide

    FreeMarker

    freemarker语法

    freemarker freemarker freemarker freemarker freemarker freemarker freemarker freemarker

    freemarker\Freemarker教程_中文版

    freemarker\Freemarker教程_中文版

    freemarker总结

    这里所说的空值,实际上也包括那些并不存在的变量,对于一个Java的 null值而言,我们认为这个变量是存在的,只是它的值为null,但对于FreeMarker模板而言,它无法理解null值,null值和不存在的变 量完全相同. 为了处理缺失...

    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操作字符串

    NULL 博文链接:https://bijian1013.iteye.com/blog/2259856

    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文档:...

    eclipse的freemarker插件

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

    FreeMarker手册-Freemarker 2.3.18

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

    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