`

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为空判断

    此外,对于数组或列表等集合类型,可以使用`.size()`方法检查其长度来判断是否为空: ```velocity #if ($list.size()) 列表有元素 #else 列表为空 #endif ``` 总的来说,在Velocity中进行空值判断时,应根据具体...

    velocity语法与使用方法

    二是Velocity模板引擎的语法及使用方法。然而,基于题目要求,本回答将着重于解析Velocity的相关知识点,并简要提及Tomcat的部分配置内容作为背景。 ### Tomcat部署项目配置背景 在文档中提到了如何通过修改`...

    使用velocity

    ### 使用Velocity进行动态模板渲染的关键知识点 #### 一、Velocity简介与环境搭建 **Velocity**是一种基于Java的模板引擎,用于生成动态HTML页面或其他文本格式的文档。它提供了一种简单而强大的方式来分离业务...

    Velocity模板使用指南中文版

    例如,Spring MVC 中的视图解析器可以配置为使用 Velocity,从而利用其强大的模板能力。 ### 9. 最佳实践 - 保持模板简洁,避免过多的逻辑处理。 - 使用适当的注释和文档,便于维护。 - 遵循一致的命名规范和代码...

    velocity jar包

    然后,使用` VelocityEngine `实例加载并解析模板文件,最后通过`evaluate()`或`mergeProperties()`方法将模板和上下文数据结合,生成最终的输出内容。 Velocity模板语言(VTL)是Velocity的核心,它允许开发者在...

    velocity语法.pdf

    obj)#else#end`:条件判断语句,用于根据对象是否存在执行不同的代码块。 - `#foreach($info in $list)$info.someList#end`:循环迭代语句,对集合中的每个元素进行操作。 - `#macro(macroName)#end`:定义宏,...

    JAVA的Velocity语法学习

    它们会详细介绍Velocity的使用方法、语法特性以及最佳实践,对于初学者来说非常有帮助。同时,Apache官网也有详细的Velocity文档和示例,可以帮助深入理解并熟练运用Velocity。 通过以上介绍,我们可以看到Velocity...

    velocity的学习资料

    - **模板语言**: Velocity使用简单的文本模板语言,允许开发者在模板中插入变量和控制结构。 - **上下文(Context)**: 上下文是模板和Java代码之间传递数据的桥梁,包含所有可供模板使用的变量。 - **指令...

    Velocity 和 FreeMarker区别

    而使用**Velocity**时,为了达到类似的效果,则可能需要开发者自己编写一些辅助性的工具类或方法。 #### 三、模板语法 1. **变量赋值**: - **FreeMarker**支持直接赋值方式如`$foo`,同时也支持通过表达式进行...

    velocity使用指南

    此外,Velocity 还提供了 WIKI 和 JIRA 等工具支持社区交流和问题跟踪,以及博客和合作服务,帮助开发者更好地理解和使用 Velocity。Velocity 的设计哲学是让模板尽可能地保持简洁和清晰,让页面设计人员专注于内容...

    Velocity用户手册 中文版

    这个用户手册中文版详细介绍了Velocity的使用方法和语法特性。 ** Velocity 的基本概念 ** 1. **模板(Template)**:模板是Velocity的核心,它是HTML或XML等静态页面中嵌入了Velocity指令的文件,用于生成最终的...

    velocity的使用

    Velocity Template Language (VTL)是Velocity的核心,它提供了一系列的语法结构,如变量、属性、方法、指令等,用于构建动态模板。以下是一些关键概念: 1. **Comments(注释)**:在VTL中,`##`用来创建单行注释,而...

    velocity官方工具包

    总的来说,Velocity官方工具包是学习和使用Velocity的重要资源,它为开发者提供了一个完整的环境,包括了必要的库和实例,有助于快速掌握Velocity模板引擎的使用方法,从而在实际项目中发挥出其强大的能力。...

    velocity官方实例

    2. 逻辑控制: Velocity提供了`#if`、`#else`、`#end`进行条件判断,`#foreach`进行循环,使得模板具备一定的逻辑处理能力。 3. 方法调用: `${object.method()}` 可以直接在模板中调用对象的方法。 4. 指令: `#set...

    velocity document

    2. **指令控制**:Velocity提供了多种控制结构,如`#if`(条件判断)、`#foreach`(循环)、`#set`(赋值)等,它们用于构造复杂的逻辑。 3. **宏定义与调用**:Velocity支持宏,类似于函数,可以重复使用一段模板...

    velocity总结

    如果需要在变量后紧跟字符串,但 Velocity 默认将整个序列视为变量,则可以使用此符号来明确指定。例如,在页面中有 `$someonename`,若希望后面紧跟字符串 "name",则应写成 `${someone}name`。 - **“!”号的...

    Velocity

    此外,还可以通过 `VelocityTools` 注册工具类,将常用的 Java 类库方法暴露给模板使用,例如日期格式化、URL编码等。 **5. 与其他技术的集成** Velocity 可以轻松地与Spring、Struts等其他Java Web框架集成,提供...

    Velocity用户手册.doc

    Velocity 使用一种称为 Velocity Template Language (VTL) 的模板语言,这种语言允许模板中的文本与 Java 对象相互作用,以动态生成内容。 VTL 的基本元素包括变量、属性、方法、注释和指令。变量用于引用 Java ...

    Velocity基本标记说明.doc

    Velocity是一个强大的模板引擎,常用于Java应用中的视图层,帮助开发者将静态模板与动态数据结合...在实际应用中,你还可以利用Velocity的其他高级特性,如宏、方法调用、自定义指令等,来提高模板的复用性和可维护性。

    velocity-doc

    Velocity的主要功能可以总结为以下几点: 1. 通过模板引擎分离Java代码和HTML页面,让Web设计者和开发者能并行工作,提高开发效率。 2. Velocity可以用来生成Web页面、SQL、PostScript等输出,也可以作为一个独立的...

Global site tag (gtag.js) - Google Analytics