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上传插件fineuploader上传文件使用方法(jquery图片上传插件)
Dec 05 Javascript
在localStorage中存储对象数组并读取的方法
Sep 24 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
Feb 23 Javascript
使用jQuery卸载全部事件的思路详解
Apr 03 jQuery
iview日期控件,双向绑定日期格式的方法
Mar 15 Javascript
vue+web端仿微信网页版聊天室功能
Apr 30 Javascript
用js简单提供增删改查接口
May 12 Javascript
Vue 实现html中根据类型显示内容
Oct 28 Javascript
在VUE中实现文件下载并判断状态的方法
Nov 08 Javascript
微信小程序点击item使之滚动到屏幕中间位置
Mar 25 Javascript
jQuery实现查看图片功能
Dec 01 jQuery
javascript局部自定义鼠标右键菜单
Dec 08 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实现utf-8和GB2312编码相互转换函数代码
2013/02/07 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
2019/10/14 PHP
php如何实现数据库的备份和恢复
2020/11/30 PHP
JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
2010/01/12 Javascript
jQuery 添加/移除CSS类实现代码
2010/02/11 Javascript
JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
2010/12/10 Javascript
jQuery源码分析-02正则表达式 RegExp 常用正则表达式
2011/11/14 Javascript
全面解析JavaScript中的valueOf与toString方法(推荐)
2016/06/14 Javascript
纯js和css完成贪吃蛇小游戏demo
2016/09/01 Javascript
浅谈Angular的$q, defer, promise
2016/12/20 Javascript
JavaScript基于DOM操作实现简单的数学运算功能示例
2017/01/16 Javascript
超全面的JavaScript开发规范(推荐)
2017/01/21 Javascript
实现jquery放大镜的两种方法
2018/02/22 jQuery
Vue iview-admin框架二级菜单改为三级菜单的方法
2018/07/03 Javascript
Puppeteer环境搭建的详细步骤
2018/09/21 Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
2019/11/12 Javascript
javascript实现前端input密码输入强度验证
2020/06/24 Javascript
JS数组reduce()方法原理及使用技巧解析
2020/07/14 Javascript
python中的五种异常处理机制介绍
2014/09/02 Python
python实现数值积分的Simpson方法实例分析
2015/06/05 Python
python放大图片和画方格实现算法
2018/03/30 Python
对python读取CT医学图像的实例详解
2019/01/24 Python
Pytorch释放显存占用方式
2020/01/13 Python
django queryset 去重 .distinct()说明
2020/05/19 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
2021/01/05 Python
canvas使用注意点总结
2013/07/19 HTML / CSS
好药师网上药店:安全合法的网上药品零售药房
2017/02/15 全球购物
美国第一个网上卖鞋零售商:OnlineShoes.com
2017/09/24 全球购物
美国户外运动商店:Sun & Ski
2018/08/23 全球购物
SIXPAD智能健身仪英国官网:革命性的训练装备品牌
2018/09/27 全球购物
期末自我鉴定
2014/01/23 职场文书
《将心比心》教学反思
2014/04/08 职场文书
幼儿园个人师德总结
2015/02/06 职场文书
2016年综治和平安建设宣传月活动总结
2016/04/01 职场文书
利用js实现简单开关灯代码
2021/11/23 Javascript
Nginx 502 bad gateway错误解决的九种方案及原因
2022/08/14 Servers