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 相关文章推荐
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
Apr 12 Javascript
JQUERY 对象与DOM对象之两者相互间的转换
Apr 27 Javascript
几个比较实用的JavaScript 测试及效验工具
Apr 18 Javascript
基于node.js的快速开发透明代理
Dec 25 Javascript
jquery mobile实现拨打电话功能的几种方法
Aug 05 Javascript
jquery实现侧边弹出的垂直导航
Dec 09 Javascript
jquery实现用户信息修改验证输入方法汇总
Jul 18 Javascript
JS实现线性表的链式表示方法示例【经典数据结构】
Apr 11 Javascript
JS模拟实现哈希表及应用详解
May 04 Javascript
vue点击页面空白处实现保存功能
Nov 06 Javascript
微信小程序如何实现精确的日期时间选择器
Jan 21 Javascript
Vue2.x和Vue3.x的双向绑定原理详解
Nov 05 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函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
2011/07/01 PHP
php中拷贝构造函数、赋值运算符重载
2012/07/25 PHP
yii中widget的用法
2014/12/03 PHP
js 弹出框 替代浏览器的弹出框
2010/10/29 Javascript
jquery dialog open后,服务器端控件失效的快速解决方法
2013/12/19 Javascript
自定义jquery模态窗口插件无法在顶层窗口显示问题
2014/05/29 Javascript
Javascript无参数和有参数类继承问题解决方法
2015/03/02 Javascript
多种js图片预加载实现方式分享
2016/02/19 Javascript
JS简单实现无缝滚动效果实例
2016/08/24 Javascript
Bootstrap精简教程中秋大放送
2016/09/15 Javascript
javascript中href和replace的比较(详解)
2016/11/25 Javascript
Express与NodeJs创建服务器的两种方法
2017/02/06 NodeJs
使用AngularJS对表单提交内容进行验证的操作方法
2017/07/12 Javascript
JavaScript学习笔记之函数记忆
2017/09/06 Javascript
微信小程序富文本渲染引擎的详解
2017/09/30 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
2018/03/12 Javascript
微信小程序当前时间时段选择器插件使用方法详解
2018/12/28 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
2019/01/19 Javascript
移动端手指操控左右滑动的菜单
2019/09/08 Javascript
JavaScript的变量声明与声明提前用法实例分析
2019/11/26 Javascript
JS使用Chrome浏览器实现调试线上代码
2020/07/23 Javascript
vue实现从外部修改组件内部的变量的值
2020/07/30 Javascript
[03:14]2014DOTA2西雅图国际邀请赛 EG战队巡礼
2014/07/07 DOTA
从零学python系列之数据处理编程实例(二)
2014/05/22 Python
简单掌握Python的Collections模块中counter结构的用法
2016/07/07 Python
检测tensorflow是否使用gpu进行计算的方式
2020/02/03 Python
Matplotlib使用字符串代替变量绘制散点图的方法
2020/02/17 Python
python zip()函数的使用示例
2020/09/23 Python
Python descriptor(描述符)的实现
2020/11/15 Python
python使用requests库爬取拉勾网招聘信息的实现
2020/11/20 Python
HTML4和HTML5之间除了相似以外的10个主要不同
2012/12/13 HTML / CSS
EGO Shoes美国/加拿大:英国时髦鞋类品牌
2018/08/04 全球购物
母亲80寿诞答谢词
2014/01/16 职场文书
大学生毕业评语
2014/12/31 职场文书
2015小学教育教学工作总结
2015/07/21 职场文书
web前端之css水平居中代码解析
2021/05/20 HTML / CSS