【freemaker】之判断是否为空,表达式的使用
测试代码
- @Test
- public void test05(){
- try {
- freemakerUtil.fprint(root, "05.ftl",fn+"05.html");
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
ftl模版文件
- <#--加个感叹号可以解决为空的问题-->
- ${(emp.group)!}
- <#--加上括号,感叹号解决对象导航为空的问题-->
- ${(emp.group.name)!"group为空或者name为空"}
- <br/>
- <#--感叹号还可以解决未定义为空的问题-->
- ${(a.b)!("a.b未定义")}
- <br/>
- <#--(a.b)?? 判断a.b是否为空-->
- <#if (a.b)??>
- 不为空
- <#else>
- 为空
- </#if>
- <br/>
- ${(a.b)???string}
效果
原文档的解释如下:
在不是顶层变量时,默认值操作符可以有两种使用方式:
- product.color!"red"
如果是这样的写法,那么在 product 中,当 color 不存在时(返回 ”red” )将会
被处理, 但是如果连 produce 都不存在时将不会处理。 也就是说这样写时变量 product
必须存在,否则模板就会报错。
- (product.color)!"red"
这时,如果当不存在时也会被处理,那就是说如果 product 不存在或者 product
存在而 color 不存在,都能显示默认值 ”red” 而不会报错。本例和上例写法的重要区别
在于用括号时,就允许其中表达式的任意部分可以未定义。
【freemaker】之判断是否为空,表达式的使用的更多相关文章
- EL表达式判断不能为空
前几天在做一个网站的时候遇到一个问题,要判断一个在request或者session域里面的对象是否为空,利用EL表达式,正常思维就是用 <c:if test="${* != null} ...
- [转]EL表达式判断是否为空,判断是否为空字符串
原文地址:https://blog.csdn.net/zhaofuqiangmycomm/article/details/79442730 El表达式判断是否为空字符串 ${empty 值} 返回t ...
- c:if标签--判断不为空和其他的值判断
用<c:if test=""></c:if>标签时 <c:if test="${sl.chc_status==1 }"> ...
- Linux shell 判断字符串为空等常用命令
1.判断字符串为空 if [ -z "$str" ]; then echo "empty string" fi 2.判断文件是否存在 if [ -f /home ...
- c:if标签判断不为空和其他的值判断
今天用<c:if test=""></c:if>标签时 <c:if test="${sl.chc_status==1 }"> ...
- PHP中判断变量为空的几种方法
判断变量为空,在许多场合都会用到,同时自己和许多新手一样也经常会犯一些错误, 所以自己整理了一下PHP中一些常用的.判断变量为空的方法. 1. isset功能:判断变量是否被初始化本函数用来测试变量是 ...
- mysql text字段判断是否为空
mysql text字段判断是否为空 mysql text字段为空select * from `tableName` where `textField` is null or `textField` ...
- Delphi中的函数指针判断是否为空
delphi函数指针 只有@@p才代表了函数指针本身的地址 assigned(p) 判断是否为空 或者用 @p=nil 来判断函数指针是不是为空 Delphi中的函数指针实际上就是指针,只是在使用 ...
- js判断是否为空火undefined是否给undefined加引号
js判断是否为空为undefined如果判断的是类型则用typeof(),如果其本身就是“undefind”字符窜,则不能这样判断, 这样typeof之后是字符串类型就判断不出来了,这是需要去掉typ ...
随机推荐
- 转<%%>、<%=%>、<%$%>、<%@%>的区别
1. 未定义的命名空间前缀“xsd” 上周在项目开发中遇到这样的一个问题,在一个页面用到了自定义的Picker控件,在IE6.7.8.9以及IE10兼容模式下都没有任何问题,但是一换到IE10时已选择 ...
- 分布式系统开发的一些相关理论基础——CAP、ACID、BASE
本文主要讲述分布式系统开发的一些相关理论基础. 一.ACID 事务的四个特征: 1.Atomic原子性 事务必须是一个原子的操作序列单元,事务中包含的各项操作在一次执行过程中,要么全部执行成功,要么全 ...
- MVC发布问题(一直显示目录浏览)
写了一个MVC的Demo,发布之后一直显示目录浏览,始终无法展示网站. 步骤如下: 1.生成解决方案,发布应用程序 2.打开IIS,新建网站,选择发布程序的代码路径 3.设置应用程序池为4.0,集成 ...
- 修改oracle字符集
>sqlplus /nolog >conn / as sysdba sql>shutdown immediate sql>startup mount sql>ALTER ...
- php的特性
PHP的特性包括: 1. PHP 独特的语法混合了 C.Java.Perl 以及 PHP 自创新的语法. 2. PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比 ...
- 烟草公司基于BPM的IT一体化变革
广州烟草有限公司隶属于广东省烟草专卖局,中国烟草总公司统一领导.垂直管理.主要职能是负责广州市的烟草生产.经营企业和市场的专卖管理.成立20多年来,广州烟草致力于烟叶和卷烟的生产经营.多元化经营.技术 ...
- 启动本地Oracle
net start OracleOraDb10g_home1TNSListenernet start OracleServiceORCL第一个是监听服务第二个是数据库服务
- Valid Sudoku
理解题目的意思后这题不难.扫描一遍数独输入并按照要求进行判断就可以了.提交了两次,第一次用了stl的set,第二次本来想借助位运算的,想想觉得有些操作略显麻烦,因此用整数数组代替.代码如下: 解法一: ...
- Asp.net MVC 视图(二)
Razor视图引擎 使用C#语法的Razor视图文件扩展名为.cshtml:使用Visual Basic语法的Razor视图文件扩展名为.vbhtml.文件扩展名指出了Razor语法分析器的编码语言的 ...
- 深入学习JavaScript: apply 方法 详解(转)——非常好
主要我是要解决一下几个问题: 1. apply和call的区别在哪里 2. 什么情况下用apply,什么情况下用call 3. apply的其他巧妙用法(一般 ...