`

velocity 判空

阅读更多

相信这个问题是很多使用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模板引擎Velocity模板引擎

    velocity插件

    【 Velocity 插件详解】 Velocity 是一款基于 Java 的模板引擎,它被广泛应用于 Web 开发中,特别是作为 Apache Struts 和 Spring MVC 框架的一部分。Velocity 插件则是为了在开发环境中提供对 Velocity 模板语言的...

    velocity所需的jar包

    `eclipse相关插件`,虽然不是必需的jar包,但对于使用Eclipse作为IDE的开发者来说,可能需要安装Velocity支持的Eclipse插件,如Velocity视图插件,它能提供模板语法高亮和代码完成等功能,提高开发效率。 为了正确...

    模板:velocity和freemarker的比较

    Velocity和Freemarker模板技术比较 模板技术在现代软件开发中扮演着重要角色,而在目前最流行的两种模板技术中, Velocity 和 Freemarker 独占鳌头。在 WebWork2 中,我们可以随意选择使用 Freemarker 或 Velocity ...

    Velocity1.4

    Velocity Velocity Velocity Velocity Velocity Velocity Velocity Velocity Velocity Velocity

    velocity-1.5.jar,velocity-1.6.2-dep.jar,velocity-tools-1.3.jar

    Velocity是Apache软件基金会的一个开源项目,它是一款强大的模板引擎,主要用于生成动态Web内容。 Velocity的主要优点在于其简单易用和高度可扩展性,使得开发者能够将业务逻辑与表现层分离,提高代码的可读性和维护...

    velocity(eclipse插件)

    对于null或不存在的变量,可以使用`#if`检查避免空指针异常。 4. **模板调试**: 利用插件的调试功能,可以设置断点,查看变量值,逐步执行模板,帮助定位问题。 5. **模板最佳实践**: 保持模板简洁,避免复杂的...

    JAVAEE Velocity例子工程

    `JAVAEE Velocity例子工程` 是一个用于展示如何在Java企业版(JAVAEE)环境中使用Velocity模板引擎的示例项目。Velocity是Apache软件基金会的一个开源项目,它是一个轻量级的、基于Java的模板引擎,常用于生成动态...

    eclipse中velocity插件

    在Eclipse中集成Velocity插件,可以方便地进行Velocity模板的编写和调试,提高开发效率。 首先,让我们深入了解一下Velocity插件在Eclipse中的作用。Velocity插件提供以下功能: 1. **代码提示和自动完成**:在...

    eclipse编辑velocity插件velocitysite-2.0.8

    Eclipse编辑Velocity插件VelocitySite-2.0.8是一款专为Java开发人员设计的工具,旨在提升在Eclipse集成开发环境中编辑Velocity模板语言(VTL)的效率和体验。Velocity是一个快速、轻量级的Java模板引擎,常用于Web...

    JAVA的Velocity语法学习

    3. 使用`#set`指令时,记得对变量进行初始化,防止空指针异常。 4. 利用Velocity提供的宏(macro)功能,可以创建可重用的代码片段,提高模板的复用性。 5. 调试和错误处理:使用Velocity的`#debug`指令可以帮助...

    velocity-1.7.jar

    Velocity由Apache软件基金会开发,是Apache Turbine项目的一部分,后来成为了独立的组件。在1.7版本中,Velocity提供了一种简洁、高效的模板语言,使得非程序员(如内容创作者)也能方便地修改页面布局,而程序员则...

    velocity的学习资料

    Velocity是Apache软件基金会下的一个开源项目,它是一个Java模板引擎,用于生成动态Web内容。Velocity在Web开发中常被用来生成HTML、XML、CSV或其他格式的文档,将内容和表现分离,让开发者专注于业务逻辑而不用关心...

    Velocity 和 FreeMarker区别

    Velocity 和 FreeMarker区别 对于大部分的应用来说,使用 FreeMarker 比 Velocity 更简单,因为 Velocity 还必须编写一些自定义的

    Velocity

    Velocity源自Apache软件基金会,是Apache Jakarta项目的一部分,被广泛应用于各类Web应用和内容管理系统中。 Velocity的核心概念是模板语言,它设计的目标是易于理解和使用,同时提供足够的灵活性以满足复杂的页面...

    velocity web开发

    【标题】:“Velocity Web开发” 在Web开发领域,Velocity是一个非常重要的模板引擎,它被广泛应用于生成动态网页内容。Velocity由Apache软件基金会开发并维护,是Apache Jakarta项目的一部分。其设计目标是提供一...

    velocity官方工具包

    **Velocity官方工具包详解** Velocity是一款强大的Java模板引擎,它由Apache软件基金会开发并维护,是Apache Jakarta项目的一部分。Velocity的主要目标是将呈现逻辑从应用逻辑中分离出来,使得开发者可以专注于业务...

    velocity文档(Velocity1.4java开发指南中文版,Velocity1.4模板使用指南中文版中文版)

    ** Velocity 概述** Velocity 是一个开源的 Java 模板引擎,它允许开发者将静态页面内容与动态数据分离,使得开发者可以专注于业务逻辑,而设计师则可以专心于页面设计。Velocity1.4 是该引擎的一个版本,发布于较...

    velocity中文

    **Velocity中文手册与学习资料详解** Velocity是一款基于Java的模板引擎,它允许开发者将HTML页面设计与业务逻辑相分离,让网页设计人员专注于页面布局,而程序员则专注于编写控制逻辑。Velocity通过简单的语法使得...

Global site tag (gtag.js) - Google Analytics