码迷,mamicode.com
首页 > 其他好文 > 详细

Velocity中避免null引起的数据问题

时间:2014-08-13 21:43:57      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:blog   http   数据   for   ar   art   问题   cti   

请先看下面一段代码:

  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

     

      

Velocity中避免null引起的数据问题,布布扣,bubuko.com

Velocity中避免null引起的数据问题

标签:blog   http   数据   for   ar   art   问题   cti   

原文地址:http://www.cnblogs.com/qiyongliang/p/3910841.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!