freemarker判断对象是否为空的方法

 更新时间:2015年08月13日 18:14:51   投稿:mrr  
FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出,用FreeMarker判断对象是否为空的方法大家知道吗,这篇文章就针对这个知道点做介绍,需要的朋友可以参考下

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判断对象是否为空的方法,希望大家喜欢。

相关文章

  • JS简单判断函数是否存在的方法

    JS简单判断函数是否存在的方法

    这篇文章主要介绍了JS简单判断函数是否存在的方法,涉及javascript函数运行与类型判定相关操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • JavaScript中“过于”犀利地for/in循环使用示例

    JavaScript中“过于”犀利地for/in循环使用示例

    Java中的增强for循环很是好用,但是JavaScript中为我们提供的for/in循环已然不是这么简单了,下面有个简单的示例,大家不妨参考下
    2013-10-10
  • 你不知道的 TypeScript 高级类型(小结)

    你不知道的 TypeScript 高级类型(小结)

    这篇文章主要介绍了你不知道的 TypeScript 高级类型(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • JS实现列表的响应式排版(推荐)

    JS实现列表的响应式排版(推荐)

    列表的响应式排版,首先每行固定好个数,然后随页面宽度调整个数和大小,保证图片的的可读性及美观。接下来小编给大家带来实现思路介绍,一起看看吧
    2016-09-09
  • JavaScript如何优化逻辑判断代码详解

    JavaScript如何优化逻辑判断代码详解

    我们在编写 JS 代码时,经常会遇到逻辑判断复杂的情况,这篇文章主要给大家介绍了关于JavaScript如何优化逻辑判断代码的相关资料,需要的朋友可以参考下
    2021-06-06
  • javascript实现数据双向绑定的三种方式小结

    javascript实现数据双向绑定的三种方式小结

    本篇文章主要介绍了javascript实现数据双向绑定的三种方式小结,前端的视图层和数据层有时需要实现双向绑定,目前实现数据双向绑定主要有三种,有兴趣的可以了解一下。
    2017-03-03
  • JavaScript 对象合并的几种方法小结

    JavaScript 对象合并的几种方法小结

    本文主要介绍了JavaScript 对象合并的几种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • uni app跨端自定义指令实现按钮权限

    uni app跨端自定义指令实现按钮权限

    这篇文章主要为大家介绍了uni app跨端自定义指令实现按钮权限详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Extjs表单输入框异步校验的插件实现方法

    Extjs表单输入框异步校验的插件实现方法

    这篇文章主要介绍了Extjs表单输入框异步校验的插件实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-03-03
  • JavaScript模块随意拖动示例代码

    JavaScript模块随意拖动示例代码

    这篇文章主要介绍了JavaScript模块随意拖动的具体实现,需要的朋友可以参考下
    2014-05-05

最新评论