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 相关文章推荐
基于jquery的二级联动菜单实现代码
Apr 25 Javascript
用js写了一个类似php的print_r输出换行功能
Feb 18 Javascript
如何使用jQuery来处理图片坏链具体实现步骤
May 02 Javascript
JS使用for循环遍历Table的所有单元格内容
Aug 21 Javascript
解析Node.js基于模块和包的代码部署方式
Feb 16 Javascript
JS仿QQ好友列表展开、收缩功能(第一篇)
Jul 07 Javascript
分析JS中this引发的bug
Dec 12 Javascript
React组件中的this的具体使用
Feb 28 Javascript
vue.js配合$.post从后台获取数据简单demo分享
Aug 11 Javascript
jQuery实现上下滚动公告栏详细代码
Nov 21 jQuery
微信小程序文章列表功能完整实例
Jun 03 Javascript
ECharts transform数据转换和dataZoom在项目中使用
Dec 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
阿拉伯的咖啡与水烟
2021/03/03 咖啡文化
php 向访客和爬虫显示不同的内容
2009/11/09 PHP
js字符编码函数区别分析
2008/06/05 Javascript
prototype与jquery下Ajax实现的差别
2009/09/13 Javascript
js动态在form上插入enctype=multipart/form-data的问题
2012/05/24 Javascript
再谈JavaScript异步编程
2016/01/27 Javascript
Javascript 实现简单计算器实例代码
2016/10/23 Javascript
详解Angular.js指令中scope类型的几种特殊情况
2017/02/21 Javascript
addeventlistener监听scroll跟touch(实例讲解)
2017/08/04 Javascript
详解cordova打包成webapp的方法
2017/10/18 Javascript
jQuery实现checkbox即点即改批量删除及中间遇到的坑
2017/11/11 jQuery
vue后台管理之动态加载路由的方法
2018/08/13 Javascript
解决Vue中 父子传值 数据丢失问题
2019/08/27 Javascript
NodeJs crypto加密制作token的实现代码
2019/11/15 NodeJs
Vue自定义表单内容检查rules实例
2020/10/30 Javascript
《Python之禅》中对于Python编程过程中的一些建议
2015/04/03 Python
教你学会使用Python正则表达式
2017/09/07 Python
浅谈Python处理PDF的方法
2017/11/10 Python
Tensorflow中的placeholder和feed_dict的使用
2018/07/09 Python
Python3中编码与解码之Unicode与bytes的讲解
2019/02/28 Python
python按行读取文件并找出其中指定字符串
2019/08/08 Python
使用pyecharts生成Echarts网页的实例
2019/08/12 Python
python滑块验证码的破解实现
2019/11/10 Python
TensorFlow tf.nn.max_pool实现池化操作方式
2020/01/04 Python
Python底层封装实现方法详解
2020/01/22 Python
python中使用input()函数获取用户输入值方式
2020/05/03 Python
详解HTML5中的拖放事件(Drag 和 drop)
2016/11/14 HTML / CSS
VELTRA台湾:世界自由行专家
2017/08/15 全球购物
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
C#面试题
2016/05/06 面试题
行政总经理岗位职责
2013/12/05 职场文书
婚庆司仪主持词
2014/03/15 职场文书
2015秋季开学典礼演讲稿
2015/07/16 职场文书
小学生运动会广播
2015/08/19 职场文书
优质服务标语口号
2015/12/26 职场文书
给原生html中添加水印遮罩层的实现示例
2021/04/02 Javascript