public static void main(String[] args) throws FileNotFoundException, ScriptException, NoSuchMethodException{
ScriptEngine engine = new ScriptEngineManager().getEngineByName("javascript");
//建立上下文环境
Bindings bind = engine.createBindings();
bind.put("factor", 1);
//绑定上下文,作用域是当前引擎范围
engine.setBindings(bind, ScriptContext.ENGINE_SCOPE);
//接收参数输入
Scanner scanner = new Scanner(System.in);
while(scanner.hasNextInt()){
int first = scanner.nextInt();
int second = scanner.nextInt();
System.out.println("接收参数为:"+first+","+second);
//引擎执行脚本
engine.eval(new FileReader("c:/modal.js"));
//判断是否为可执行的
if(engine instanceof Invocable){
Invocable in = (Invocable)engine;
Double result = (Double) in.invokeFunction("formula", first,second);
System.out.println("执行结果为:"+result);
}

}

}

C盘下modal.js脚本内容如下:

function formula(value1,value2){
  return value1+value2-factor;
}

Java程序调用javascript等脚本的实现方法的更多相关文章

  1. 【原】Java程序调用远程Shell脚本

    此程序的目的是执行远程机器上的Shell脚本. [环境参数]远程机器IP:192.168.234.123用户名:root密码:rootShell脚本的路径:/home/IFileGenTool/Bak ...

  2. Java程序调用带参数的shell脚本返回值

    Java程序调用带参数的shell脚本返回值 首先来看看linux中shell变量(\(#,\)@,$0,$1,\(2)的含义解释 变量说明: -  \)$  Shell本身的PID(ProcessI ...

  3. 通过java程序调用ant build.xml配置文件中指定的target

    一.概述 通过ant实现项目的自动化部署,jar包生成,替换,tomcat关停.启动,查看项目日志: 通过java程序调用已编辑好的ant脚本build.xml配置文件中指定的target: 文中文件 ...

  4. java程序调用存储过程

    java程序调用存储过程       PL/SQL子程序,很多情况下是给应用程序来调用的,所有我们要掌握使用其他编程语言来调用我们写好的存储过程.下面我们介绍下使用java调用Oracle的存储过程. ...

  5. java程序调用存储过程和存储函数

    java程序调用存储过程 jdbcUtil.java文件 package cn.itcast.oracle.utils; import java.sql.Connection; import java ...

  6. 使用java 程序创建格式为utf-8文件的方法(写入和读取json文件)

    使用java 程序创建格式为utf-8文件的方法:  try{            File file=new   File("C:/11.jsp");              ...

  7. Java程序猿JavaScript学习笔记(4——关闭/getter/setter)

    计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...

  8. java程序调用kettle

    (1).将相应的kettle的jar包导入的java项目,主要的jar包有一下几个. (2).java程序. package cn.com.taiji.oosweb.test.web; import ...

  9. Java程序猿JavaScript学习笔记(2——复制和继承财产)

    计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...

随机推荐

  1. sql参数化查询in的参数

    private Query setParameter(Query query, Map<String, Object> map) { if (map != null) { Set<S ...

  2. 关于Hibernate XXX is not mapped 错误

    我的实体类是这么配置的 @Entity(name="EntityName")  //必须,name为可选,对应数据库中一的个表 就会出现 XXX is not mapped.   ...

  3. temp_web

    使用vs2010创建.发布.部署.调用 WebService http://blog.sina.com.cn/s/blog_45eaa01a0102vp8z.html c#简易Http服务器 http ...

  4. dell omsa 监控,Nrpe信号量泄露

    ipcs -s | awk '/nrpe/ {print "ipcrm -s ",$2} ' | sh /etc/init.d/dataeng stop /etc/init.d/d ...

  5. 读《JavaScript DOM编程艺术》

    国庆假期花了三四天看了这本书,书很薄,因为是入门书,干货也不是很多. 4. childNodes nodeType nodeValue firstChild lastChild childNodes返 ...

  6. Redis的介绍和常用数据类型结构命令的总结

    我们先来看一下redis的一个定义,来自官方的: Redis is an open source, BSD licensed, advanced key-value store. It is ofte ...

  7. 在sql server中利用with as实现递归功能

    在sqlserver2005之前,要实现递归功能比较麻烦,比如可能会要用到临时表与while语句来循环.自sqlserver2005之后,新增了with as功能语法,即 公用表达式(CTE),让递归 ...

  8. Scala

    简直就是java啊,mac上,下载,添加环境变量,source 就好了

  9. oracle SQLPLUS 常用set设置

    SQL>set colsep' '; //-域输出分隔符 SQL>set echo off; //显示start启动的脚本中的每个sql命令,缺省为on SQL> set echo ...

  10. CheckedComboBoxEdit 重置初始化值的方法

    CheckedComboBoxEdit ccbgb; ccbgb绑定方式ccbgb .Properties .DataSource =数据集; ccbgb.Properties.DisplayMemb ...