java util - 在java代码中执行javascript代码工具 rhino-1.7.7.jar

需要 rhino-1.7.7.jar 包

代码示例:

package cn.java.mozilla.javascript;

import org.mozilla.javascript.Context;
import org.mozilla.javascript.Scriptable;

public class Test {

    public static void main(String[] args) {
        test4JsNormalCode();
        test4JsObj();
        test4JsFunc();
        test4JsFuncWithParam();
    }

    protected static void test4JsNormalCode() {
        Context ctx = Context.enter();
        Scriptable scope = ctx.initStandardObjects();

        String jsStr = "100*20/10";
        Object result = ctx.evaluateString(scope, jsStr, null, 0, null);
        System.out.println("result=" + result);
    }

    protected static void test4JsObj() {
        Context ctx = Context.enter();
        Scriptable scope = ctx.initStandardObjects();

        String jsStr = "var objTest = { ‘key1‘:‘value1‘ }; objTest.key1;";
        Object result = ctx.evaluateString(scope, jsStr, null, 0, null);
        System.out.println("result=" + result);
    }

    protected static void test4JsFunc() {
        Context ctx = Context.enter();
        Scriptable scope = ctx.initStandardObjects();
        String jsStr = "var testFunc = function(){ return ‘testFunc...‘ }; testFunc();";
        Object result = ctx.evaluateString(scope, jsStr, null, 0, null);
        System.out.println("result=" + result);
    }

    protected static void test4JsFuncWithParam() {
        Context ctx = Context.enter();
        Scriptable scope = ctx.initStandardObjects();
        scope.put("param1", scope, "value1");
        String jsStr = "var testFunc = function(param){ return ‘testFunc...‘+‘param=‘+param }; testFunc(param1);";
        Object result = ctx.evaluateString(scope, jsStr, null, 0, null);
        System.out.println("result=" + result);
    }

}

输出结果

result=200
result=value1
result=testFunc...
result=testFunc...param=value1
时间: 2024-10-10 21:45:28

java util - 在java代码中执行javascript代码工具 rhino-1.7.7.jar的相关文章

在delphi中执行javascript代码

http://lhdeyx.blog.163.com/blog/static/318196972011101132922916/ 在delphi中执行javascript代码 2011-11-11 15:32:54|  分类: delphi|举报|字号 订阅 下载LOFTER我的照片书  | 有时做项目难免用到代码交叉调用,delphi中执行js就是一种,两种方法可用:一.使用webbrower,比较麻烦二.使用ScriptControl,简单方便:1.首先uses ComObj;2.通用函数:

UWP 在 WebView 中执行 JavaScript 代码(用于模拟用户输入等) - walterlv

原文:UWP 在 WebView 中执行 JavaScript 代码(用于模拟用户输入等) - walterlv UWP 在 WebView 中执行 JavaScript 代码(用于模拟用户输入等) 2018-12-30 14:08 UWP 中使用 WebView 时可以在网页中额外执行一些代码.于是你几乎可以在网页上做任何事情,那些你可以在浏览器控制台中做的事情. 本文将介绍做法. 本文内容 准备环境 执行 JavaScript 代码 模拟用户输入 JavaScript eval(string

java中执行js代码

要在java中执行js代码,首先明白,java不支持浏览器本身的方法.支持自定义的js方法,否则会报错 先新建一个js文件:jsss.js 内容如下: function aa(a,b){ return a+b; } 然后在java中写代码: public class ZipTest { public static void main(String[] args) throws Exception { ScriptEngineManager manager = new ScriptEngineMa

Java泛型解析(03):虚拟机执行泛型代码

Java泛型解析(03):虚拟机执行泛型代码 Java虚拟机是不存在泛型类型对象的,所有的对象都属于普通类,甚至在泛型实现的早起版本中,可以将使用泛型的程序编译为在1.0虚拟机上能够运行的class文件,这个向后兼容性后期被抛弃了,所以后来如果用Sun公司的编译器编译的泛型代码,是不能运行在Java5.0之前的虚拟机的,这样就导致了一些实际生产的问题,如一些遗留代码如何跟新的系统进行衔接,要弄明白这个问题,需要先了解一下虚拟机是怎么执行泛型代码的. 虚拟机的一种机制:擦除类型参数,并将其替换成特

JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法[转]

1.如何将java.util.Date转化为java.sql.Date? 转化: java.sql.Date sd; java.util.Date ud; //initialize the ud such as ud = new java.util.Date(); sd = new java.sql.Date(ud.getTime()); 2.如何将获取到的java.sql.Date转换为年-月-日输出 java.sql.Date sd; String dateTime = sd.toStrin

java.util.Properties 读取配置文件中的参数

用法 getProperty方法的返回值是String类型. java.util.Properties 读取配置文件中的参数 //读取配置文件 FileInputStream inStream = null; try { inStream = new FileInputStream("/fetchedfile/redis.conf"); Properties prop = new Properties(); prop.load(inStream); Field field; Strin

转:selenium webdriver 执行javascript代码

在用selenium webdriver 编写web页面的自动化测试代码时,可能需要执行一些javascript代码,selenium本身就支持执行js,我们在代码中import org.openqa.selenium.JavascriptExecutor;就可以使用executeScript.executeAsyncScript这两个方法了,其中executeScript是同步方法,用它执行js代码会阻塞主线程执行,直到js代码执行完毕:executeAsyncScript方法是异步方法,它不

Android WebView中的JavaScript代码使用(转载)

转载来源:http://www.cnblogs.com/mengdd/archive/2013/03/02/2940185.html 本篇文章主要介绍WebView中的JavaScript代码的执行相关,已经JS代码与Android代码的互相调用. (因为本人对Web开发并不是很熟悉,所以如果有哪些地方说得不对,还请指正.) 在WebView中使用JavaScript 如果你想要载入的页面中用了JavaScript,你必须为你的WebView使能JavaScript. 一旦使能之后,你也可以自己

如何在代码中执行apk安装

import java.io.File; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { /** Called when th