一个超低级失误

今天发布了一个项目,结果我负责的那块出现了错误,一个很低级的错误!

 

由于新需求,DB中新增一列字段属性,number类型的,映射到POJO对象为Integer类型。在velocity中取该字段时,vm会自动将封装类型转换成原始类型,即Interger -> int,所以我就写了这样的判断条件:

#if( $!appProfile.tribeSubsc != 1 )

问题就出在这!因为该字段是后期新增的,所以在数据库中会存在三种情况,null, 0(默认值), 1(设定值)。当该字段为null时,上述条件会返回false!经过试验,发现null和其他值不管怎么比较都会返回false!!

 

这个地方的条件应该这么写: #if( "!appProfile.tribeSubsc"!= "1" ) 学习一定要扎实…

你可能感兴趣的:(velocity)