`
123003473
  • 浏览: 1061778 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

velocity判断对象是否为空!

 
阅读更多
经常有人问我这个问题,搞的我每次都记不住,上网查资料。今天我就顺便转载

下。哈哈


Velocity判断为null方法:

相信这个问题是很多使用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)

4. 判断为空的方法

#if("" == $变量名) 或 #if("" != $变量名) 即可
分享到:
评论

相关推荐

    velocity为空判断

    判断Velocity变量是否为空 在Velocity中,"空"通常指的是变量的值为null或者空字符串。以下是如何进行空值判断的方法: #### 判断空: 使用逻辑非操作符 `!` 可以检查变量$xxx是否为空,如果为空,则表达式结果...

    velocity语法.pdf

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

    velocity模板引擎

    - **判断是否为空**:Velocity提供了方便的空值判断方式。例如,可以使用`#if($null.isNull($orderList.orders) || $orderList.orders.size() == 0)`来判断一个集合是否为空,也可以使用`#if(!$(orderDto))`来判断...

    velocity总结

    ”号用于强制将未定义的变量显示为空。例如,页面中包含 `$msg`,若 `$msg` 未被定义,则页面将显示 `$msg`;通过使用 `$!msg`,即使 `$msg` 未被定义,页面也不会显示任何内容。 - **双引号与单引号**:`"`与`'`的...

    Velocity10分钟了解

    - **安静引用**:如果引用的对象不存在,则输出空字符串。 - 示例:`Jack is a ${vice} maniac.` 或 `Jack is a $!{vice} maniac.` ##### 2. Break 和 Stop - **Break**:中断当前最内层循环。 - 示例:`#break`...

    Velocity的脚本语言

    当一个变量未定义或者其值为`null`时,默认情况下,Velocity会在生成的文档中显示该变量的名称。为了避免这种情况,可以在变量名前加上感叹号`!`,这样即使变量未定义或为`null`,也不会在文档中显示任何内容。 ...

    Velocity基本标记说明.doc

    msg`会在`msg`变量不存在或者值为`null`时显示为空字符串,而`$msg`会直接显示变量名本身。 6. **#parse()** 和 **#include()**:`#include()`用于包含静态内容,不会解析其中的Velocity指令。而`#parse()`不仅包含...

    JAVA的Velocity语法学习

    3. 方法调用:Velocity可以直接调用对象的方法,如`$person.getName()`。 4. 文本插值:Velocity允许在字符串中插入变量,如`你好,$name`。 5. 注释:Velocity的注释有两种形式,行内注释`#comment`和块注释`##...

    velocity语法

    ` 符号用于指示如果变量不存在或值为null,应显示为空。例如: ```html $!msg ``` ## 2. 在EasyJWeb中的最佳实践 在EasyJWeb框架中,虽然理论上可以使用Velocity的所有功能,但建议尽量保持模板简洁,避免复杂的...

    velocity语法大全

    Velocity 语法大全 Velocity 语法大全是 Apache Velocity 项目的一部分,是一个基于 Java 的模板引擎。Velocity 语法大全提供了一些基本语法和实践指南,帮助开发者快速掌握 Velocity 语法。 基本语法 1. `#` ...

    velocity教程

    9. **未定义的变量处理**:在Velocity中,如果尝试引用一个未定义的变量,它会被默认视为一个空字符串。 10. **条件语句和循环**:Velocity提供了`#if`、`#else`、`#elseif`来进行条件判断,以及`#foreach`进行循环...

    EasyJWeb-Velocity脚本简明教程

    obj) #else #end`:条件判断语句,用于根据对象是否存在输出不同的内容。 3. `#foreach( $info in $list) $info.someList #end`:循环遍历列表`$list`,对每个元素执行相应操作。 例如,在HTML中显示Java对象`msg`...

    Velocity语法笔记

    如果使用 `${name}` 形式,即使变量名拼写错误也不会出现运行时错误,而是被解析为空字符串。这有助于避免潜在的问题。 #### 二、变量赋值及引用详解 在 Velocity 中,可以对变量进行各种类型的赋值操作,包括字符...

    velocity 使用手冊整理

    在模板中,你可以插入变量和控制结构,这些元素会被 Velocity 解析并替换为相应的值。 - **上下文(Context)**: 上下文是模板和 Java 代码之间的数据交换区,你可以将 Java 对象放入上下文,然后在模板中引用它们...

    velocity的使用

    如果引用的对象不存在,Velocity会默认输出空字符串,防止出现错误。 3. **Properties(属性)**和**Methods(命令)**:可以访问对象的属性和方法,如`$customer.getAddress()`。 4. **属性引用中的属性查找规则**:...

    Velocity的基本用法

    7. **引用安全**: Velocity支持安全引用,即使变量不存在,也不会抛出异常,而是返回空字符串。例如,`$nonExistentVariable`不会导致错误。 8. **宏(Macros)**: 宏是可重用的代码片段,可以提高模板的复用性。...

    Velocity学习资料

    - `#if($info.imgs)` 和 `#else` 可以用于检查对象是否存在,如图片存在与否的判断。 3. **循环语句**: - `#foreach($info in $list)` 可以遍历集合中的每一个元素并执行相应的操作。 4. **函数调用**: - ...

    velocity笔记

    {email}`时,如果变量为空,它会显示为空字符串而不是变量名。 指令(Directives)是Velocity中执行控制逻辑的关键元素。例如,`#set`指令用于设置变量的值,如`#set ($primate="1")`。赋值的右侧可以是变量引用、...

    velocity的语法

    obj`**:直接输出对象的值,如果对象不存在,将显示为空。 ```html $!msg $!HtmlUtil.doSomething($!msg) ``` 2. **`#if-#else-#end`**:条件判断,通常用于显示或隐藏特定内容。 ```velocity #if($msg) <script>...

    Velocity基本语法

    obj) #else #end**:条件判断,检查对象是否存在并执行相应操作。 3. **#foreach( $info in $list) $info.someList #end**:遍历集合,对每个元素执行指定操作。 4. **#macro(macroName)#end**:定义宏,虽然不...

Global site tag (gtag.js) - Google Analytics