package com.bfrj.core.groovy;
import java.util.HashMap;
import java.util.Map;
import org.jeecgframework.core.util.ApplicationContextUtil;
import org.springframework.context.ApplicationContext;
/**
* 公式计算
*
*/
public class GroovyParse {
/**
* 公式解析计算
*/
public static Object formulaParse(String formula, Map<String, Object> map) {
ApplicationContext context = ApplicationContextUtil.getContext();
GroovyScriptEngine groovyScriptEngine = context.getBean(GroovyScriptEngine.class);
Object value = groovyScriptEngine.executeObject(formula, map);
return value;
}
public static void main(String[] args) {
String formula = "return (a * b);";
Map map = new HashMap();
map.put("a", 900);
map.put("b", 10);
GroovyScriptEngine groovyScriptEngine = new GroovyScriptEngine();
Object value = groovyScriptEngine.executeObject(formula, map);
System.out.println(value);
}
}
如果动态的执行java脚本,这个在脚本公式配置的时候很方便
最新推荐文章于 2024-08-05 04:50:59 发布
本文介绍了一个使用Groovy进行公式解析和计算的Java类。该类通过Spring上下文获取GroovyScriptEngine实例,并利用它执行传入的公式字符串。示例展示了如何设置参数并执行简单的乘法运算。
5万+

被折叠的 条评论
为什么被折叠?



