用Groovy让客户自定义公式

类别:Java 点击:0 评论:0 推荐:

开始关注让产品升值的东西。
比如,用户想自己在订单里定义一个叫含税价的列,公式为"单价/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("变量名") 来获得。

                                                                                                                                江南白衣

本文地址:http://com.8s8s.com/it/it11449.htm