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 对话框和状态栏使用说明
Oct 25 Javascript
js url传值中文乱码之解决之道
Nov 20 Javascript
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
Nov 14 Javascript
Prototype源码浅析 String部分(一)之有关indexOf优化
Jan 15 Javascript
jQuery模拟360浏览器切屏效果幻灯片(附demo源码下载)
Jan 29 Javascript
js 性能优化之快速响应的用户界面
Feb 15 Javascript
Bootstrap 模态对话框只加载一次 remote 数据的完美解决办法
Jul 09 Javascript
JavaScript中防止微信浏览器被整体拖动的方法
Aug 25 Javascript
基于vue实现分页效果
Nov 06 Javascript
浅谈vuepress 踩坑记
Apr 18 Javascript
element ui分页多选,翻页记忆的实例
Sep 03 Javascript
详解vite+ts快速搭建vue3项目以及介绍相关特性
Feb 25 Vue.js
数据分析软件之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入门速成教程
2007/03/19 PHP
ThinkPHP实现多数据库连接的解决方法
2014/07/01 PHP
PHP构造二叉树算法示例
2017/06/21 PHP
PHP回调函数与匿名函数实例详解
2017/08/16 PHP
判断是否输入完毕再激活提交按钮
2006/06/26 Javascript
写得不错的jquery table鼠标经过变色代码
2013/09/27 Javascript
javascript判断数组内是否重复的方法
2015/04/21 Javascript
Node.js 实现简单的接口服务器的实例代码
2017/05/23 Javascript
详解vue添加删除元素的方法
2018/06/30 Javascript
解决angular2 获取到的数据无法实时更新的问题
2018/08/31 Javascript
利用d3.js力导布局绘制资源拓扑图实例教程
2019/01/08 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
js实现蒙版效果
2020/01/11 Javascript
Vue检测屏幕变化来改变不同的charts样式实例
2020/10/26 Javascript
Vue使用Ref跨层级获取组件的步骤
2021/01/25 Vue.js
[42:20]Winstrike vs VGJ.S 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python爬虫框架Scrapy实战之批量抓取招聘信息
2015/08/07 Python
Python调用C语言的方法【基于ctypes模块】
2018/01/22 Python
python爬虫获取百度首页内容教学
2018/12/23 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
2019/06/21 Python
python 操作hive pyhs2方式
2019/12/21 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
2020/03/17 Python
Python3 requests模块如何模仿浏览器及代理
2020/06/15 Python
Python 多进程、多线程效率对比
2020/11/19 Python
小狗电器官方商城:中国高端吸尘器品牌
2017/03/29 全球购物
Coach澳大利亚官方网站:美国著名时尚奢侈品牌
2017/05/24 全球购物
TCP/IP的分层模型
2013/10/27 面试题
银行服务感言
2014/03/01 职场文书
增员口号大全
2014/06/18 职场文书
中职生求职信
2014/07/01 职场文书
幼儿园欢迎词范文
2015/01/26 职场文书
2015年植树节活动总结
2015/02/06 职场文书
《敬重卑微》读后感3篇
2019/11/26 职场文书
抖音动画片,皮皮虾,《治愈系》动画在用这首REMIX作为背景音乐,Anak ,The last world with you完整版
2022/03/16 杂记
java中如何截取字符串最后一位
2022/07/07 Java/Android
前端框架ECharts dataset对数据可视化的高级管理
2022/12/24 Javascript