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


Posted in Javascript onAugust 13, 2015

FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等。

freemarker中显示某对象使用${name}.

但如果name为null,freemarker就会报错。如果需要判断对象是否为空:

<#if name??>
……
</#if>

当然也可以通过设置默认值${name!''}来避免对象为空的错误。如果name为空,就以默认值(“!”后的字符)显示。 

对象user,name为user的属性的情况,user,name都有可能为空,那么可以写成${(user.name)!''},表示user或者name为null,都显示为空。

判断为空

<#if (user.name)??>
……
</#if>

方法二:

对于null,或者miss value,freemarker会报错

!:default value operator,语法结构为:unsafe_expr!default_expr,比如 ${mouse!"No mouse."} 当mouse不存在时,返回default value;

(product.color)!"red"  这种方式,能够处理product或者color为miss value的情况;

而product.color!"red"将只处理color为miss value的情况

??: Missing value test operator ,测试是否为missing value

unsafe_expr?? :product.color??将只测试color是否为null

(unsafe_expr)??:(product.color)??将测试product和color是否存在null

?exists:旧版本的用法

比如:

<#if mouse??>
 Mouse found
<#else>
 No mouse found
</#if>
Creating mouse...
<#assign mouse = "Jerry">
<#if mouse??>
 Mouse found
<#else>
 No mouse found
</#if>

以上通过两种方法介绍了freemarker判断对象是否为空的方法,希望大家喜欢。

Javascript 相关文章推荐
Javascript 面向对象 重载
May 13 Javascript
IE6、IE7中setAttribute不支持class/for/rowspan/colspan等属性
Aug 28 Javascript
js实现同一页面多个不同运动效果的方法
Apr 10 Javascript
关于JavaScript的变量的数据类型的判断方法
Aug 14 Javascript
JavaScript基础篇(6)之函数表达式闭包
Dec 11 Javascript
js改变css样式的三种方法推荐
Jun 28 Javascript
JS跨域请求外部服务器的资源
Feb 06 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
Apr 27 Javascript
Vue实现购物车场景下的应用
Nov 27 Javascript
浅谈vuex为什么不建议在action中修改state
Feb 02 Javascript
JavaScript实现随机点名程序
Mar 25 Javascript
Antd下拉选择,自动匹配功能的实现
Oct 24 Javascript
数据分析软件之FineReport教程:[5]参数界面JS(全)
Aug 13 #Javascript
在jQuery中使用$而避免跟其它库产生冲突的方法
Aug 13 #Javascript
再JavaScript的jQuery库中编写动画效果的指南
Aug 13 #Javascript
js实现仿网易点击弹出提示同时背景变暗效果
Aug 13 #Javascript
JavaScript生成SQL查询表单的方法
Aug 13 #Javascript
对于jQuery性能的一些优化建议
Aug 13 #Javascript
使用控制台破解百小度一个月只准改一次名字
Aug 13 #Javascript
You might like
PHP判断密码强度的方法详解
2017/05/26 PHP
锋利的jQuery 第三章章节总结的例子
2010/03/23 Javascript
Jquery动态更改一张位图的src与Attr的使用
2013/07/31 Javascript
js随机生成网页背景颜色的方法
2015/02/26 Javascript
BootStrap Table 分页后重新搜索问题的解决办法
2016/08/08 Javascript
Vue.js教程之axios与网络传输的学习实践
2017/04/29 Javascript
JS自定义滚动条效果简单实现代码
2020/10/27 Javascript
JavaScript获取tr td 的三种方式全面总结(推荐)
2017/08/15 Javascript
JavaScript 中的 this 工作原理
2018/06/20 Javascript
详解javascript 变量提升(Hoisting)
2019/03/12 Javascript
d3.js实现图形拖拽
2019/12/19 Javascript
Vue获取页面元素的相对位置的方法示例
2020/02/05 Javascript
jquery实现点击弹出对话框
2020/02/08 jQuery
Python实现从url中提取域名的几种方法
2014/09/26 Python
Python中的True,False条件判断实例分析
2015/01/12 Python
Python文件和流(实例讲解)
2017/09/12 Python
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
Python延时操作实现方法示例
2018/08/14 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2020/07/13 Python
PyCharm设置注释字体颜色以及是否倾斜的操作
2020/09/16 Python
python opencv角点检测连线功能的实现代码
2020/11/24 Python
澳大利亚电子产品购物网站:Dick Smith
2017/02/02 全球购物
幼儿园实习生辞职信
2014/01/20 职场文书
中式面点餐厅创业计划书
2014/01/29 职场文书
火锅店营销方案
2014/02/26 职场文书
公司门卫岗位职责
2014/03/15 职场文书
中国梦演讲稿3分钟
2014/08/19 职场文书
个人整改措施书面材料
2014/10/24 职场文书
2014年远程教育工作总结
2014/12/09 职场文书
孝女彩金观后感
2015/06/10 职场文书
八一建军节主持词
2015/07/01 职场文书
廉洁自律准则学习心得体会
2016/01/13 职场文书
严以律己学习心得体会
2016/01/13 职场文书
MySQL分库分表与分区的入门指南
2021/04/22 MySQL
JavaScript实现简单计时器
2021/06/22 Javascript
Python图像处理库PIL详细使用说明
2022/04/06 Python