其实velocity 功能还是挺强的,可以获取到一个 bean 之后, 直接使用 该bean就可以调 bean 里面的方法了。 可是还有一点奇怪需要注意的地方。 比如实体里面有一个 这些的方法
/**
* 是否未借款
* @return
*/
@Transient
public boolean isBorrowNo(){
return this.borrowStatus==OrderStatusConstant.BORROW_STATUS_NO;
}
然后再 静态页面里面使用 模板的方式 其他同事这样使用:
#if($obj.borrowNo || $obj.borrowRevoke || $obj.borrowNoPass)
...
我的天啊,对于我第一次接触这个模板的菜鸟来说,怎么回事? bean 里面也没有 这个 borrowNo 属性,怎么来的? 全局找代码没有找到啊。。。 真是奇怪。。。 其实可以猜测是 调用了 方法 isBorrowNo 。 如果 我将 这个 $obj.isBorrowNo() 和 $obj.borrowNo 一起使用,发现 输出的内容是一样的。 这个模板居然可以 将 前面的 is给去掉,,,也是奇怪。这么不友好. 它是这样的,如果是 方法的,就要写全方法名,而且后面加上 () . 否则某些方法,可以想熟悉一样点出现 $obj.borrowNo 不需要加上 () 了。 怎么说呢,感觉比较坑吧。不好理解。