请先看下面一段代码:

  1. #foreach($id in [1..50])
  2. #set($user = $User.Get($id))
  3. $id : ${user.name}
  4. #end
  5. 上面这段代码中,假设只存在一个id为1的用户,但是却会显示50个id都是1的用户及其名称,因为在 Velocity  中,如果某个赋值语句返回的结果是null,则不改变所赋值的对象值,也就是说 $user 变量会一直保持上一个有效值。

    官方文档中给出解决的办法是将上面的代码改为:

  6. #foreach($id in [1..50])  
    • #set($user = false)
    • #set($user = $User.Get($id))
    • $id : ${user.name}
    • #end

    还有其他的方法(推荐):

    这个问题终于被我碰上了,根本的解 决方法应该是:

    解决方法:修改velocity.properties

    原配制:directive.set.null.allowed = false

    修改后的配制: directive.set.null.allowed = true

    修改完成后,用#if($diary)即可判断对象是否为空了~~~

    见:http://www.itsmile.net/blog/article_show/20/273559/Velocity-Set-Null-value-method-Foreach

转载于:https://www.cnblogs.com/qiyongliang/p/3910841.html

Velocity中避免null引起的数据问题相关推荐

  1. 服务器返回数据为空,iOS 处理服务器返回数据中的null

    最近经常被服务器返回的数据搞的头昏脑涨,一度想要约后台同事切磋武艺! 类似服务器返回数据中带有null的情况,在以前也是时有发生,奈何当时基于自己的懒惰和对后台同事的信赖,一直对这个该死的null视而 ...

  2. 关于Sqlserver中 BCP命令,实现数据导出功能。

    关于Sqlserver中 BCP命令,实现数据导出功能. exec master..xp_cmdshell 'bcp "select 账号 ,姓名, 账号 from datat.dbo.个人 ...

  3. Oracle中的NULL(二、NULL详解)

    2019独角兽企业重金招聘Python工程师标准>>> 说明:本篇文章是摘取自以下链接的Blog,但作者的这篇文章也是转载(非常感谢),我在记录的时候也有添加自己的思考. http: ...

  4. 下列有关mysql数据库中的null值_MySQL数据库中与 NULL值有关的问题

    对于SQL的新手,NULL值的概念常常会造成混淆,他们常认为NULL是与空字符串"相同的事.情况并非如此.例如,下述语句是完全不同的: mysql> INSERT INTO my_ta ...

  5. 在django中区分null = True,空白= True

    当我们在Django中添加数据库字段时,通常会编写models.CharField(max_length=100, null=True, blank=True) . 对ForeignKey , Dec ...

  6. android post json格式,Android中post请求传递json数据给服务端的实例

    在最近的项目中有个需求是这样的: 入参封装成JSON,EXAMPLE: { "uuid": "iamauuid","clientType": ...

  7. 05. 取SQL分组中的某几行数据

    05. 取SQL分组中的某几行数据 原文:05. 取SQL分组中的某几行数据 对表中数据分组,有时只需要某列的聚合值:有时却需要返回整行数据,常用的方法有:子查询.ROW_NUMBER.APPLY,总 ...

  8. 【C 语言】指针数据类型 ( 不允许向 NULL 地址写入数据 | 不允许不断地改变指针指向 | 字面量存放位置 )

    文章目录 一.不允许向 NULL 地址写入数据 二.不允许不断地改变指针指向 三.字面量存放位置 一.不允许向 NULL 地址写入数据 声明指针变量 , 并为其 设置 NULL 初始值 , NULL ...

  9. Oracle中的NULL(一、问题引入)

    2019独角兽企业重金招聘Python工程师标准>>> 说明:最近在写后台程序的时候,遇到了关于Oracle中NULL的一个问题: 测试数据 表结构: 表中已有的数据: 插入数据: ...

最新文章

  1. C#接收串口RS232的CD、CTS、DSR信号
  2. 市场有变,中小型基因测序机构机会来了
  3. python使用localhost链接mysql出错及解决办法
  4. linux mysql5.5 一主多从配置
  5. idea java8_太赞了,Intellij IDEA 竟然把 Java8 的数据流问题这么完美的解决掉了!...
  6. php连接数据库非明文,MySQL 数据库配置 SSL 安全连接
  7. 飞鸽传书官方网站 创立黑马程序员训练营
  8. python word转pdf图片格式_Python将word转换为PDF格式文件(包括批处理转换),Word,Pdf,包含,批量...
  9. mysql存储emij表情_【MySQL】存储emoji表情报错(Incorrect string value: '\xF0\x9F\x98\x82\xF0\x9F...')的解决方案...
  10. flask页面中Head标签内容为空问题
  11. js实现购物车,原理简单,代码解释-->详细
  12. win10 联想键盘快捷键关闭_如何关闭联想台式机电脑USB键盘的FN功能
  13. noip模拟9 达哥随单题
  14. 灵信LED屏 二次开发C#
  15. 服务启动类型:自动、自动(延时启动)、手动、禁用
  16. gwt java_GWT中的Java 8支持
  17. 浅析虚拟语气 (Subjunctive mood)
  18. 西门子PLC学习笔记十-(计数器)
  19. 问题分析工具 - 3 legged 5 why analysis
  20. 【转载】5年内从3500元到700万的过程,有爱情、有奋斗、有。。。泪水

热门文章

  1. javascript Node对象
  2. hdfs shell
  3. 太阳的光和灯光有什么区别_防蓝光眼镜的原理是什么,为什么这么多人用?
  4. vba monthview控件64位_VBA学习
  5. 深圳大学计算机科学考研,深圳大学考研计算机专业要多少分数会被百分百录取...
  6. Windows server 2016简单部署DNS服务,正向查找和委派
  7. 拒绝无用的长篇大论!仅12张图片,最全的中台精华都在这里了
  8. Java Web学习总结(26)——Servlet不同版本之间的区别
  9. Spring Boot学习总结(2)——Spring Boot整合Jsp
  10. html表格中加横线,表格下划线怎么打出来