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.ajax)
Nov 19 Javascript
javascript setTimeout和setInterval 的区别
Dec 08 Javascript
jquery获取元素索引值index()示例
Feb 13 Javascript
javascript中的return和闭包函数浅析
Jun 06 Javascript
JSON.parse()和JSON.stringify()使用介绍
Jun 20 Javascript
AngularJS入门教程之Hello World!
Dec 06 Javascript
jQuery实现的表格展开伸缩效果实例
Sep 07 Javascript
jQuery实现字符串全部替换的方法
Dec 12 Javascript
three.js加载obj模型的实例代码
Nov 10 Javascript
使用微信小程序开发弹出框应用实例详解
Oct 18 Javascript
为nuxt项目写一个面包屑cli工具实现自动生成页面与面包屑配置
Sep 29 Javascript
vant 中van-list的用法说明
Nov 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
初探PHP5
2006/10/09 PHP
简单介绍下 PHP5 中引入的 MYSQLI的用途
2007/03/19 PHP
PHP访问MYSQL数据库封装类(附函数说明)
2010/12/04 PHP
PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
2014/09/12 PHP
Yii中实现处理前后台登录的新方法
2015/12/28 PHP
PHP实现一个简单url路由功能实例
2016/11/05 PHP
PHP中PCRE正则解析代码详解
2019/04/26 PHP
二级域名转向类
2006/11/09 Javascript
JQuery小知识
2010/10/15 Javascript
JavaScript实现审核流程状态的动态显示进度条
2017/03/15 Javascript
self.attachevent is not a function的解决方法
2017/04/04 Javascript
mongoose中利用populate处理嵌套的方法
2017/05/26 Javascript
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
ReactNative列表ListView的用法
2017/08/02 Javascript
js删除数组中的元素delete和splice的区别详解
2018/02/03 Javascript
详解vue在项目中使用百度地图
2019/03/26 Javascript
jQuery实现数字华容道小游戏(实例代码)
2020/01/16 jQuery
JavaScript实现简单动态表格
2020/12/02 Javascript
基于VUE实现简单的学生信息管理系统
2021/01/13 Vue.js
python多线程用法实例详解
2015/01/15 Python
Python保存MongoDB上的文件到本地的方法
2016/03/16 Python
python Django框架实现自定义表单提交
2016/03/25 Python
Python提取Linux内核源代码的目录结构实现方法
2016/06/24 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
2019/03/27 Python
pytorch获取vgg16-feature层输出的例子
2019/08/20 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
python实现井字棋小游戏
2020/03/04 Python
美国著名童装品牌:OshKosh B’gosh
2016/08/05 全球购物
俄罗斯美容和健康网上商店:Созвездие Красоты
2019/07/23 全球购物
最新英语专业学生求职信范文
2013/09/21 职场文书
初中生物教学反思
2014/01/10 职场文书
新年抽奖获奖感言
2014/03/02 职场文书
最美护士演讲稿
2014/08/27 职场文书
群众路线教育查摆剖析材料
2014/10/10 职场文书
餐饮店长岗位职责
2015/04/14 职场文书
小学课改工作总结
2015/08/13 职场文书