`
流浪鱼
  • 浏览: 1637374 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

处理不存在的变量或null

 
阅读更多

一个不存在的变量和一个是null的变量,对于FreeMarker来说是一样的

不论在哪里引用变量,都可以指定一个默认值来避免变量丢失这种情况,通过在变量名后面跟着一个!和默认值。就像下面的例子,当user从数据模型中丢失时,模板将会将user的值表示为字符串”Anonymous”

 

<h1>Welcome ${user!"Anonymous"}!</h1>

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

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

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

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

 

分享到:
评论

相关推荐

    未将对象引用设置到对象的实例问题原因

    8、使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值。 9、使用FindControl时,控件不存在却没有做预处理。 10、重复定义造成未将对象引用设置到对象的实例错误. 偶在ASP.Net中遇到的情况...

    findbug 常见异常处理

    处理方式:确认此局部变量是否会被使用,如果确实不会被用到,请去掉,和 Dead store to local variable一样处理,只是这里针对的是不是局部变量; Call to static DateFormat 描述:调用静态的DateFormat对象 处理...

    strings.com 纯DOS环境下的文本处理工具

    REM 如果该行强四个字符是 DISK或者该行为空 说明是文件头第一/二行内容,不予传递而进入下一次循环。 strings ln=linesize diskn.txt strings ln=add %ln%,1 set n=0 :loop1 if %n%==%ln% goto end strings n=add %...

    Leetcode 第N高的薪水.sql

    如果不存在第N高的薪水,那么查询应返回null。这个问题考验的是SQL中窗口函数、排序以及处理特定条件下的空值返回的能力。 SQL解决方案 解决这个问题的一个常见方法是使用子查询和LIMIT子句来实现。但由于题目要求...

    数据库基础

    §10.1.10 列值为NULL情形的处理 219 §10.1.11 使用 product_user_file来限制用户使用产品 220 §10.2 常用技巧 221 §10.2.1 long 类型的查询 222 §10.2.2 如何确定执行时间 222 §10.2.3 如何终止用户会话 222 ...

    二叉树排序树建立及平衡处理

    若在平衡的二叉排序树T中不存在和e有相同的关键字的结点, 则插入一个数据元素为e的新结点,并返回OK,否则返回ERROR. 若因插入而使二叉排序树失去平衡,则作平衡旋转处理 布尔变量taller反映T长高与否 ...

    asp.net运行提示未将对象引用设置到对象的实例错误解决方法

    8、使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值。 9、使用FindControl时,控件不存在却没有做预处理。 10、重复定义造成未将对象引用设置到对象的实例错误. 二、 (1)所设置的变量为空值...

    freemarker总结

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

    IT常见面试笔试题含答案

    不调用C++/C 的字符串库函数, 请编写函数 strcpy 答案: char *strcpy(char *strDest, const char *strSrc) { if ( strDest == NULL || strSrc == NULL) return NULL ; if ( strDest == strSrc) return strDest ; ...

    mysql数据库的基本操作语法

    空字符串“”是不等于null,0也不等于null create table temp( id int not null, name varchar(255) not null default ‘abc’, sex char null ) 上面的table加上了非空约束,也可以用alter来修改或增加非空约束 ...

    【05-面向对象(下)】

    名字的局部变量,就使用该变量,如果不存在,则到该方法所在的内部类中查找是否存在该名字的属性,如果存在 则使用该属性。 •总之,第一步先找局部变量,第二步,内部类的属性,第三步。外部类的属性。 ...

    《php开发典型模块大全》读书笔记和调试源代码 第四章smarty (张迅雷闪击PHP系列)

    addslashes() 在操作数据库时,对其中的特殊字符进行自动转义,即在特殊字符前加反斜杠,包括单引号‘ 双引号“ NULL,但是不包括% 和_ 另外还可以 mysql_real_escape_string()来进行转义,效果和addslashes()函数式...

    [removed]Java语言研究

    var使用var声明变量的旧方法var,let在同一上下文中具有不同的使用范围var,IE 9,10-&gt; let,const-&gt;不存在,但是可以使用Babe 字符串”,“”单引号或双引号用户可选; :分号也由用户选择 虚假的,虚假的存在 ...

    powerbuilder

    如果想在椭圆或圆中输出文字或图形,那么应用程序应该首先绘制椭圆或圆,然后使用其它函数在椭圆或圆中输出文字或图形。 -------------------------------------------------------------------------------- ...

    nset.com 纯DOS环境 下的文本处理工具

    REM 如果该行强四个字符是 DISK或者该行为空 说明是文件头第一/二行内容,不予传递而进入下一次循环。 strings ln=linesize diskn.txt strings ln=add %ln%,1 set n=0 :loop1 if %n%==%ln% goto end strings n=add %...

    31251-data-structures-algorithms

    在C ++中,增加了一个适当的字符串类( std::string )的实现,该类充当char[]的包装器,并解决了处理空终止时的问题空指针在C ++中,null值实际上只是0(或类似它的值) 从C ++ 11开始,存在实际的null_ptr类型,...

    《你必须知道的495个C语言问题》

    5.6 如果NULL定义成#define NULL((char *)0) ,不就可以向函数传入不加转换的NULL 了吗? 57 5.7 我的编译器提供的头文件中定义的NULL为0L。为什么? 57 5.8 NULL可以合法地用作函数指针吗? 57 5.9 如果NULL...

    最新名企标准通用C++面试题,

    缺点:多执行了N-1次逻辑判断,并且打断了循环“流水线”作业,使得编译器不能对循环进行优化处理,降低了效率。 优点:循环的效率高 缺点:程序不简洁 4、有关内存的思考题 void GetMemory(char *p) { p = ...

Global site tag (gtag.js) - Google Analytics