相信这个问题是很多使用Velocity的朋友所经常碰到的,大家可能非常期望下面这样的代码能够运行:
#if($foo == null)
...
#end
实际上这段代码会报错。这是因为Velocity中对null的支持比较特别。总统上说,判断是否为null有下面几种方法:
1. #if (! $foo) 判断$foo为空,判断非空为 #if ($foo)
2. 使用 #ifnull() 或 #ifnotnull()
#ifnull ($foo)
要使用这个特性必须在velocity.properties文件中加入:
userdirective = org.apache.velocity.tools.generic.directive.Ifnull
userdirective = org.apache.velocity.tools.generic.directive.Ifnotnull
3. 使用null工具判断
#if($null.isNull($foo))
注意这种方式特别有用,尤其你在需要这个判断作为一个判断字句时,比如我要你判断一个集合为null或为空时只能使用这种方式了:
$if ($null.isNull($mycoll) || $mycoll.size()==0)
更详细的介绍请参考:
http://wiki.apache.org/velocity/VelocityNullSupport
http://wiki.apache.org/velocity/CheckingForNull
分享到:
相关推荐
在使用velocity作为视图层时候,经常会碰到为空的判断,这里整理了velocity为空判断
Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎
【 Velocity 插件详解】 Velocity 是一款基于 Java 的模板引擎,它被广泛应用于 Web 开发中,特别是作为 Apache Struts 和 Spring MVC 框架的一部分。Velocity 插件则是为了在开发环境中提供对 Velocity 模板语言的...
`eclipse相关插件`,虽然不是必需的jar包,但对于使用Eclipse作为IDE的开发者来说,可能需要安装Velocity支持的Eclipse插件,如Velocity视图插件,它能提供模板语法高亮和代码完成等功能,提高开发效率。 为了正确...
Velocity和Freemarker模板技术比较 模板技术在现代软件开发中扮演着重要角色,而在目前最流行的两种模板技术中, Velocity 和 Freemarker 独占鳌头。在 WebWork2 中,我们可以随意选择使用 Freemarker 或 Velocity ...
Velocity Velocity Velocity Velocity Velocity Velocity Velocity Velocity Velocity Velocity
Velocity是Apache软件基金会的一个开源项目,它是一款强大的模板引擎,主要用于生成动态Web内容。 Velocity的主要优点在于其简单易用和高度可扩展性,使得开发者能够将业务逻辑与表现层分离,提高代码的可读性和维护...
对于null或不存在的变量,可以使用`#if`检查避免空指针异常。 4. **模板调试**: 利用插件的调试功能,可以设置断点,查看变量值,逐步执行模板,帮助定位问题。 5. **模板最佳实践**: 保持模板简洁,避免复杂的...
`JAVAEE Velocity例子工程` 是一个用于展示如何在Java企业版(JAVAEE)环境中使用Velocity模板引擎的示例项目。Velocity是Apache软件基金会的一个开源项目,它是一个轻量级的、基于Java的模板引擎,常用于生成动态...
在Eclipse中集成Velocity插件,可以方便地进行Velocity模板的编写和调试,提高开发效率。 首先,让我们深入了解一下Velocity插件在Eclipse中的作用。Velocity插件提供以下功能: 1. **代码提示和自动完成**:在...
Eclipse编辑Velocity插件VelocitySite-2.0.8是一款专为Java开发人员设计的工具,旨在提升在Eclipse集成开发环境中编辑Velocity模板语言(VTL)的效率和体验。Velocity是一个快速、轻量级的Java模板引擎,常用于Web...
3. 使用`#set`指令时,记得对变量进行初始化,防止空指针异常。 4. 利用Velocity提供的宏(macro)功能,可以创建可重用的代码片段,提高模板的复用性。 5. 调试和错误处理:使用Velocity的`#debug`指令可以帮助...
Velocity由Apache软件基金会开发,是Apache Turbine项目的一部分,后来成为了独立的组件。在1.7版本中,Velocity提供了一种简洁、高效的模板语言,使得非程序员(如内容创作者)也能方便地修改页面布局,而程序员则...
Velocity是Apache软件基金会下的一个开源项目,它是一个Java模板引擎,用于生成动态Web内容。Velocity在Web开发中常被用来生成HTML、XML、CSV或其他格式的文档,将内容和表现分离,让开发者专注于业务逻辑而不用关心...
Velocity 和 FreeMarker区别 对于大部分的应用来说,使用 FreeMarker 比 Velocity 更简单,因为 Velocity 还必须编写一些自定义的
Velocity源自Apache软件基金会,是Apache Jakarta项目的一部分,被广泛应用于各类Web应用和内容管理系统中。 Velocity的核心概念是模板语言,它设计的目标是易于理解和使用,同时提供足够的灵活性以满足复杂的页面...
【标题】:“Velocity Web开发” 在Web开发领域,Velocity是一个非常重要的模板引擎,它被广泛应用于生成动态网页内容。Velocity由Apache软件基金会开发并维护,是Apache Jakarta项目的一部分。其设计目标是提供一...
**Velocity官方工具包详解** Velocity是一款强大的Java模板引擎,它由Apache软件基金会开发并维护,是Apache Jakarta项目的一部分。Velocity的主要目标是将呈现逻辑从应用逻辑中分离出来,使得开发者可以专注于业务...
** Velocity 概述** Velocity 是一个开源的 Java 模板引擎,它允许开发者将静态页面内容与动态数据分离,使得开发者可以专注于业务逻辑,而设计师则可以专心于页面设计。Velocity1.4 是该引擎的一个版本,发布于较...
**Velocity中文手册与学习资料详解** Velocity是一款基于Java的模板引擎,它允许开发者将HTML页面设计与业务逻辑相分离,让网页设计人员专注于页面布局,而程序员则专注于编写控制逻辑。Velocity通过简单的语法使得...