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.lazyload.js实现页面延迟载入
Dec 22 Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
Feb 17 Javascript
JQuery ztree 异步加载实例讲解
Feb 25 Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
Feb 26 Javascript
js实现带三角符的手风琴效果
Mar 01 Javascript
解决element-ui中下拉菜单子选项click事件不触发的问题
Aug 22 Javascript
JavaScript实现的拼图算法分析
Feb 13 Javascript
JavaScript判断对象和数组的两种方法
May 31 Javascript
微信小程序(订阅消息)功能
Oct 25 Javascript
vue 返回上一页,页面样式错乱的解决
Nov 14 Javascript
详解Vue.js3.0 组件是如何渲染为DOM的
Nov 10 Javascript
ant design charts 获取后端接口数据展示
May 25 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异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
php下载文件超时时间的设置方法
2016/10/06 PHP
PHP面向对象自动加载机制原理与用法分析
2016/10/14 PHP
Javascript 函数中的参数使用分析
2010/03/27 Javascript
Jquery Change与bind事件代码
2011/09/29 Javascript
jQuery中removeClass()方法用法实例
2015/01/05 Javascript
jQuery实现跟随鼠标运动图层效果的方法
2015/02/02 Javascript
JavaScript实现的Tween算法及缓冲特效实例代码
2015/11/03 Javascript
Bootstrap布局组件应用实例讲解
2016/02/17 Javascript
浅析JS中对函数function的理解(基础篇)
2016/10/14 Javascript
如何利用JQuery实现从底部回到顶部的功能
2016/12/27 Javascript
深入理解ES6的迭代器与生成器
2017/08/19 Javascript
微信小程序系列之自定义顶部导航功能
2019/05/21 Javascript
基于Vue实现平滑过渡的拖拽排序功能
2019/06/12 Javascript
小程序实现搜索框
2020/06/19 Javascript
基于ajax及jQuery实现局部刷新过程解析
2020/09/12 jQuery
理解Python垃圾回收机制
2016/02/12 Python
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
2017/07/12 Python
Python使用pip安装pySerial串口通讯模块
2018/04/20 Python
python使用tcp实现局域网内文件传输
2020/03/20 Python
学习python分支结构
2019/05/17 Python
Python Tkinter 简单登录界面的实现
2019/06/14 Python
wxPython+Matplotlib绘制折线图表
2019/11/19 Python
Python2与Python3的区别点整理
2019/12/12 Python
python读取csv文件指定行的2种方法详解
2020/02/13 Python
Python对wav文件的重采样实例
2020/02/25 Python
pytorch之Resize()函数具体使用详解
2020/02/27 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
关于python tushare Tkinter构建的简单股票可视化查询系统(Beta v0.13)
2020/10/19 Python
详解css3使用transform出现字体模糊的解决办法
2020/10/16 HTML / CSS
详解使用HTML5的classList属性操作CSS类
2017/10/13 HTML / CSS
浙大网新C/C++面试解惑
2015/05/27 面试题
财务经理岗位职责
2013/11/09 职场文书
大学生毕业的自我评价分享
2014/01/02 职场文书
合作经营协议书范本
2014/04/17 职场文书
2015年国庆节广播稿
2015/08/19 职场文书