用Groovy让客户自定义公式

王朝java/jsp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

开始关注让产品升值的东西。

比如,用户想自己在订单里定义一个叫含税价的列,公式为"单价/0.93",用Groovy实现,是那么的简单: String formula="单价/0.93";

Binding binding = new Binding();

//放入所有用户可能用到的因子

binding.setVariable("单价", new Integer(2));

GroovyShell shell = new GroovyShell(binding);

Object value = shell.evaluate("return " +formula );

out.print(value);

Groovy的国际化支持做的如此好,如上所见,居然支持中文的变量名,客户可以直接用中文定义公式。

不是我懒,用Groovy运行客户的公式需要知道的真就这么多。当然,用户还可以按照Groovy的简单语法,用if-else写出更加复杂的公式,比如达到某个数量的折扣率会不同。 另外,如果公式需要返回多个值,可以用binding.getVariable("变量名") 来获得。

江南白衣

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有