欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于velocity的ReferenceInsertionEventHandler velocityWeb 

程序员文章站 2022-07-14 17:36:58
...
在做一个项目的时候发现一个问题就是要求输出的数值保留2位小数点。开始使用orcale的round(xxx.2)来处理取出的数据。但是在完成后发现取出的数据经过二次运算后数值就和真实的不一样了,但是木已成舟。在老大的指点下,使用了ReferenceInsertionEventHandler接口。 ReferenceInsertionEventHandler可以在输出到vm文件前修改参数的内容。 public Object referenceInsert(String arg0, Object arg1);是要实现的接口方法,arg0是指的参数的变量名,arg1是该变量的值。比如vm模板上写有$a.b,值是1.12,那么在渲染模板的$a.b的时候会以 arg0="$a.b",arg1=1.2参数调用该方法。这样只要在该方法实现中写上你想要的业务逻辑就OK了。 问题解决了,配置文件加上eventhandler.referenceinsertion.class=cn.gov.zftec.kfq.web.velocity.DoubleReferenceInsertionEventHandler。一切OK。
相关标签: velocity Web