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基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
Aug 05 Javascript
javascript 全选与全取消功能的实现代码
Dec 23 Javascript
jquery获取及设置outerhtml的方法
Mar 09 Javascript
jQuery里filter()函数与find()函数用法分析
Jun 24 Javascript
javascript中new关键字详解
Dec 14 Javascript
html5+javascript实现简单上传的注意细节
Apr 18 Javascript
基于chosen插件实现人员选择树搜索自动筛选功能
Sep 24 Javascript
JavaScript仿支付宝6位数字密码输入框
Dec 29 Javascript
canvas 实现中国象棋
Feb 17 Javascript
Django中使用jquery的ajax进行数据交互的实例代码
Oct 15 jQuery
JS排序算法之冒泡排序,选择排序与插入排序实例分析
Dec 13 Javascript
js实现带搜索功能的下拉框
Jan 11 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 数据结构 算法描述 冒泡排序 bubble sort
2011/07/10 PHP
php发送post请求的三种方法
2014/02/11 PHP
PHP base64编码后解码乱码的解决办法
2014/06/19 PHP
8个PHP程序员常用的功能汇总
2014/12/18 PHP
PHP生成zip压缩包的常用方法示例
2019/08/22 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
JS/Jquery判断对象为空的方法
2015/06/11 Javascript
js实现向右横向滑出的二级菜单效果
2015/08/27 Javascript
javascript 操作cookies详解及实例
2017/02/22 Javascript
webpack教程之webpack.config.js配置文件
2017/07/05 Javascript
JS中精巧的自动柯里化实现方法
2017/12/12 Javascript
写一个移动端惯性滑动&amp;回弹Vue导航栏组件 ly-tab
2018/03/06 Javascript
详解Vue This$Store总结
2018/12/17 Javascript
vue文件运行的方法教学
2019/02/12 Javascript
axios 实现post请求时把对象obj数据转为formdata
2019/10/31 Javascript
vue项目引入ts步骤(小结)
2019/10/31 Javascript
Vue项目前后端联调(使用proxyTable实现跨域方式)
2020/07/18 Javascript
JavaScript 绘制饼图的示例
2021/02/19 Javascript
three.js 实现露珠滴落动画效果的示例代码
2021/03/01 Javascript
python with提前退出遇到的坑与解决方案
2018/01/05 Python
python 反向输出字符串的方法
2018/07/16 Python
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
Python编程在flask中模拟进行Restful的CRUD操作
2018/12/28 Python
python aiohttp的使用详解
2019/06/20 Python
Python3.8对可迭代解包的改进及用法详解
2019/10/15 Python
Django数据统计功能count()的使用
2020/11/30 Python
Java中会存在内存泄漏吗,请简单描述
2016/12/22 面试题
中学生爱国演讲稿
2013/12/31 职场文书
歌唱比赛获奖感言
2014/01/21 职场文书
献爱心捐款倡议书
2014/05/14 职场文书
幼师求职信
2014/06/23 职场文书
法院四风对照检查材料思想汇报
2014/10/06 职场文书
查摆问题整改措施
2014/10/24 职场文书
新店开张宣传语
2015/07/13 职场文书
Vue Element UI自定义描述列表组件
2021/05/18 Vue.js
html输入两个数实现加减乘除功能
2021/07/01 HTML / CSS