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 &amp; DHTML 实例编程(教程)DOM基础和基本API
Jun 02 Javascript
一个JS函数搞定网页标题(title)闪动效果
May 13 Javascript
Jquery实现的角色左右选择特效
May 21 Javascript
JavaScript中的函数重载深入理解
Aug 04 Javascript
node.js中RPC(远程过程调用)的实现原理介绍
Dec 05 Javascript
js实现浮动在网页右侧的简洁QQ在线客服代码
Sep 04 Javascript
BootStrap表单时间选择器详解
May 09 Javascript
JS库之Highlight.js的用法详解
Sep 13 Javascript
vue复合组件实现注册表单功能
Nov 06 Javascript
JS实现的透明度渐变动画效果示例
Apr 28 Javascript
vue-cli项目无法用本机IP访问的解决方法
Sep 20 Javascript
Vuex中实现数据状态查询与更改
Nov 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 什么是PEAR?(第三篇)
2009/03/19 PHP
本地计算机无法启动Apache故障处理
2014/08/08 PHP
如何让thinkphp在模型中自动完成session赋值小教程
2014/09/05 PHP
PHP版微信小店接口开发实例
2016/11/12 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
2017/02/14 PHP
Jquery数独游戏解析(一)-页面布局
2010/11/05 Javascript
jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮
2013/10/11 Javascript
JS+DIV实现鼠标划过切换层效果的实例代码
2013/11/26 Javascript
Javascript遍历table中的元素示例代码
2014/07/08 Javascript
JQuery的ON()方法支持的所有事件罗列
2015/02/28 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
2015/12/03 Javascript
EasyUI布局 高度自适应
2016/06/04 Javascript
fullpage.js全屏滚动插件使用实例
2016/09/06 Javascript
protractor的安装与基本使用教程
2017/07/07 Javascript
javascript计算渐变颜色的实例
2017/09/22 Javascript
详解vue使用插槽分发内容slot的用法
2019/03/28 Javascript
vue+canvas实现移动端手写签名
2020/05/21 Javascript
原生js+css实现tab切换功能
2020/09/17 Javascript
vue实现购物车的小练习
2020/12/21 Vue.js
[47:06]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第一局
2016/03/05 DOTA
Python类的用法实例浅析
2015/05/27 Python
python xlsxwriter创建excel图表的方法
2018/06/11 Python
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
Python基于mysql实现学生管理系统
2019/02/21 Python
Django的models中on_delete参数详解
2019/07/16 Python
详解Python修复遥感影像条带的两种方式
2020/02/23 Python
一款超酷的js+css3实现的3D标签云特效兼容ie7/8/9
2013/11/18 HTML / CSS
Html5画布_动力节点Java学院整理
2017/07/13 HTML / CSS
canvas实现圆绘制的示例代码
2019/09/11 HTML / CSS
THE OUTNET美国官网:国际设计师品牌折扣网站
2017/03/07 全球购物
LODI女鞋在线商店:阿利坎特的鞋类品牌
2019/02/15 全球购物
教师业务培训方案
2014/05/01 职场文书
党干部专题民主生活会对照检查材料思想汇报
2014/10/06 职场文书
酒店收银员岗位职责
2015/04/07 职场文书
小学生读书笔记范文
2015/06/30 职场文书
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/06 PostgreSQL