标签: rhino

如何从javascript调用java方法

如标题所述,我想要实现的目标如下:

  1. 创建java对象
  2. 将其传递给JavaScript
  3. 在传递的对象上调用方法(例如setter)
  4. 继续使用java中的对象

我正在使用java中包含的脚本.如果有人可以帮助我,我会很高兴.

javascript java rhino

2
推荐指数
1
解决办法
3546
查看次数

Rhino:从Java中返回JSON

我有Java中JSON序列化对象的字符串表示,例如"{\"name\":\"John\",\"age\":24}".我如何解析并将其返回到JavaScript上下文,就像JSON.parse(str)在JS中一样?谢谢.

javascript java rhino

2
推荐指数
1
解决办法
5673
查看次数

如何使用Rhino构建PEG.js 0.7.0解析器(Java SE 6 ScriptEngine API)

我一直在使用PEG.js版本0.6.1使用Maven插件(即从Java代码调用PEG.js)构建解析器,但是现在在尝试升级到新版本时,它失败并显示错误消息:

sun.org.mozilla.javascript.internal.EcmaError: SyntaxError: missing ; before statement (#3213(eval)#1) in #3213(eval) at line number 1

调试时我注意到PEG.buildParser()函数调用出来的解析器看起来语法错误,当然从浏览器调用它时不会发生.

这是我如何称呼它:

ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine jsEngine = manager.getEngineByName("JavaScript");

jsEngine.eval(new InputStreamReader(this.getClass().getResourceAsStream(PEGJS_LIB)));

Invocable invok = (Invocable) jsEngine;
Object peg = jsEngine.get("PEG");

invok.invokeMethod(peg, "buildParser", grammarSource);
Run Code Online (Sandbox Code Playgroud)

其中,grammarSource在我的测试情况下,是作为基本语法的网站例如,和PEGJS_LIB = peg-0.7.0.js.

欢迎任何想法!我在这里用完了......

javascript rhino parser-generator scriptengine pegjs

2
推荐指数
1
解决办法
404
查看次数

确定当前的Javascript实现是否是Rhino

我在Java中使用javax.script,我希望能够检测当前的Javascript实现是否是Rhino.我这样做是因为我需要脚本才能在网页和Rhino上正常工作.

Javascript伪代码:

function writeMessage(message) {
    if (implementation is Rhino) {
        print(message);
    }
    else if (script is running in a web browser) {
        document.write(message);
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript java rhino javax.script

2
推荐指数
1
解决办法
609
查看次数

Rhino 在 Java 中设置 NativeObject 属性

我有一个 javascript 脚本,它在评估时返回一个 NativeObject

obj = context.evaluateString(scope,"({age:3, name:'bob'})", "<source">, 1, null)
Run Code Online (Sandbox Code Playgroud)

然后我将 obj 转换为 NativeObject 或 Map,然后运行 ​​put 方法

castObj.put("surname","smith")
Run Code Online (Sandbox Code Playgroud)

我得到一个 java.lang.UnsupportedOperationException 抛出。还有另一种方法可以更改对象值吗?

java rhino

2
推荐指数
1
解决办法
3089
查看次数

List内置JavaScript标准对象方法

有没有办法列出所有JavaScript标准对象方法?

我的意思是我正在尝试获取String的所有内置方法,所以我在想,我确实尝试过这样做:

for( var method in String ) {
    console.log( method );
}

// I also tried this:
for( var method in String.prototype ) {
    console.log( method );
}
Run Code Online (Sandbox Code Playgroud)

但没有运气.此外,如果解决方案应该适用于所有ECMAScript标准类/对象.

编辑:我想指出解决方案应该在服务器端环境中工作,如rhino或node.js.

并尽可能不使用第三方API /框架.

javascript rhino node.js

2
推荐指数
1
解决办法
4599
查看次数

如何让Rhino运行自定义的javascript setTimeout函数,无尽的eval

我发现 Gameboy 脚本是用 javascript 编写的,我正在尝试让它在 java 中运行。(我不是在寻找任何 java gameboy 模拟器)。

我有一个带有这两个文件的javascript

function cout(e, t) {
  java.lang.System.out.println("e = " + e + " t = " + t);
}

function setTimeout(expr, msec) { 
    if (typeof expr == "function") { 
        // save the global object and trailing args for later apply 
        var gobj = this; 
        var args = [].concat(arguments).slice(2); 
        var o = {actionPerformed: function(){expr.apply(gobj, args)}}; 
    } else { 
        var o = {actionPerformed: function(){eval(expr)}}; 
    } 
    var al = new java.awt.event.ActionListener(o); 
    var t = …
Run Code Online (Sandbox Code Playgroud)

javascript java timer rhino settimeout

2
推荐指数
1
解决办法
2566
查看次数

使用Mozilla Rhino的HTTP请求

我想编写一个用Mozilla Rhino处理的JavaScript代码,它可以执行一个简单的HTTP GET请求,该请求从URL获取文本字符串.问题是,我无法在Rhino中找到任何支持来执行任何类型的HTTP请求.此外,我无法访问Rhino实例本身,它通过TopBraid Composer IDE运行本体建模.我相信任何关于我可以在我的JavaScript文件中导入的简单库的想法都可能是一个很好的解决方案.

有帮助吗?谢谢.

javascript mozilla http rhino topbraid-composer

2
推荐指数
1
解决办法
1065
查看次数

如何使用 htmlunit 代替 rhino 的替代 js/浏览器引擎?

在我使用 htmlunit 的经历中,我慢慢意识到 htmlunit 与 javascript 不能很好地交互。

htmlunit 使用的 rhino js 引擎绝对是这些问题的根本原因,我想知道是否可以在仍然使用 htmlunit 的同时使用 geckodriver 之类的东西来代替。

任何帮助表示赞赏。

谢谢。

java junit gecko rhino javascript-engine

2
推荐指数
1
解决办法
1576
查看次数

如何从 Rhino 为 V8 重写此代码?

我曾经在 GAS 上写过脚本。因为我确实使用 GAS 通过聊天和 Google 电子表格管理出勤率。聊天工具是聊天工作。它适用于 Gas(Rhino)。但它不适用于 V8。

我试图将 line19 重写for each (var obj in json){for (var obj in json){

请告诉我什么是坏的...我应该重写哪个?

function recordTime(){
  /*Sheet setting*/
  var wsData = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("data"); //DataSheetSetting
  var wsStaff = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("coworkers"); //CoworkersMasterSetting
  /*ChatworkURLrequest*/
  var params = {
    headers : {"X-ChatWorkToken" : 'anynumber'},
    method : "get"
  };
  var roomID = anynumber; //ROOMID
  var url = "https://api.chatwork.com/v2/rooms/" + roomID + "/messages?force=0"; //GetMessageFromGroupchat
  try{
    var respons = UrlFetchApp.fetch(url, params); //GetResponseFromChatworkAPIendpoint
    var json = JSON.parse(respons.getContentText()); //Returnjson
    for …
Run Code Online (Sandbox Code Playgroud)

v8 rhino google-sheets google-apps-script

2
推荐指数
1
解决办法
291
查看次数