栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA调用JS实现

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA调用JS实现

后端JAVA开发有些代码逻辑其实在JS中很好实现,因为JS的对象定义不是很严格,避免了繁琐的POJO对象创建,JAVA标准库也提供了JS的调用引擎,方便我们直接复用JS的逻辑实现

注意定义JS方法接口中的方法名要与JS中的大小写完全一致,JS中的alert、console无法调用,但可以从异常捕获中获取调用异常的具体信息

代码参考:

import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import java.io.FileReader;

ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("Nashorn");
String path = GridReportBean.class.getClassLoader().getResource("").getPath();
path = path.replaceAll("%20", " ");
engine.eval(new FileReader(path + "static/asserts/cloudPrint.js"));
if (engine instanceof Invocable) {
     Invocable invocable = (Invocable) engine;
     ICloudPrint executeMethod = invocable.getInterface(ICloudPrint.class);
     cloudPrintData = executeMethod.dataWrapper(JSON.toJSONString(printData.get("Detail"))
                                    , cloudPrintPlatform, printerName);
}

public interface ICloudPrint {

    String dataWrapper(String dataArrayStr, String cloudPrintPlatform, String printer);

}

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/884395.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号