|
@@ -1,77 +0,0 @@
|
|
|
-package com.persagy.labsl.controller
|
|
|
-
|
|
|
-import javax.script.Invocable
|
|
|
-import javax.script.ScriptEngineManager
|
|
|
-
|
|
|
-/**
|
|
|
- * java调用js代码工具类
|
|
|
- *
|
|
|
- * @author 张维新
|
|
|
- */
|
|
|
-object JavaJsUtil {
|
|
|
- /**
|
|
|
- * java 调用js 函数脚本方法
|
|
|
- * @param function
|
|
|
- * @param variable
|
|
|
- * @return
|
|
|
- */
|
|
|
- fun javaJs(function: String?, variable: String?): Boolean {
|
|
|
- return try {
|
|
|
- val manager = ScriptEngineManager()
|
|
|
- val engine = manager.getEngineByName("javascript")
|
|
|
- engine.eval(function)
|
|
|
- if (engine is Invocable) {
|
|
|
- val `in` = engine as Invocable
|
|
|
- // System.out.println(in.invokeFunction("transform",variable));
|
|
|
- return if (`in`.invokeFunction("transform", variable) as Boolean) {
|
|
|
- true
|
|
|
- } else {
|
|
|
- false
|
|
|
- }
|
|
|
- }
|
|
|
- false
|
|
|
- } catch (e: Exception) {
|
|
|
- e.printStackTrace()
|
|
|
- false
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * java 调用js 函数脚本方法
|
|
|
- * @param function 函数
|
|
|
- * @param variable 对象json
|
|
|
- * @return
|
|
|
- */
|
|
|
- fun javaJsFun(function: String?, variable: String?): Boolean {
|
|
|
- return try {
|
|
|
- val manager = ScriptEngineManager()
|
|
|
- val engine = manager.getEngineByName("javascript")
|
|
|
- engine.eval(function)
|
|
|
- if (engine is Invocable) {
|
|
|
- val `in` = engine as Invocable
|
|
|
- // System.out.println(in.invokeFunction("transform",variable));
|
|
|
- return `in`.invokeFunction("transform", variable) as Boolean
|
|
|
- }
|
|
|
- false
|
|
|
- } catch (e: Exception) {
|
|
|
- e.printStackTrace()
|
|
|
- false
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 调用js函数
|
|
|
- *
|
|
|
- * ScriptEngineManager 支持的脚本 Javascript、Groovy、Ruby、Scheme、Haskell
|
|
|
- * @throws Exception
|
|
|
- */
|
|
|
- @Throws(Exception::class)
|
|
|
- fun callJsFunction() {
|
|
|
- val manager = ScriptEngineManager()
|
|
|
- val engine = manager.getEngineByName("javascript")
|
|
|
- engine.eval("function add (a, b) {return a+b; }")
|
|
|
- val jsInvoke = engine as Invocable
|
|
|
- val res = jsInvoke.invokeFunction("add", *arrayOf<Any>(10, 5))
|
|
|
- println(res)
|
|
|
- }
|
|
|
-} // Class JavaJsUtil
|