day20201112 - java 中使用脚本语言
有一些易变的,不确定的业务逻辑,与其一遍遍的重写,可以考虑把那些逻辑的计算,写到脚本语言里面。
@GetMapping("/test")
public Object test() throws Exception {
TBusOrderTwo or = new TBusOrderTwo();
or.setId(1);
or.setPhone("12333334444");
Bindings param = new SimpleBindings();
param.put("a", 22222);
param.put("b", JSON.toJSON(or).toString());
param.put("c", or);
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine javascript = manager.getEngineByExtension("js");
Object eval = javascript.eval(new FileReader(new File("C:/Users/XG002/Desktop/a.js")), param);
System.out.println(eval);
return eval;
}
js脚本:
(function (a, b, c) { print("---------------------"); print("c= " + c); print("c.id = " + c.id); print("c.getId()= " + c.getId()); print("---------------------"); return 1.5 + 2.51 + 0.0011; })(a, b, c);
只需要修改js逻辑,就用重新修改java代码,就可以做到对业务逻辑的适应。

浙公网安备 33010602011771号