问题标签 [rhino]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1326 浏览

javascript - Rhino 中没有 Array.filter()?

为什么我不能Array.filter()在 Rhino 中使用?

代码是这样的:

两种情况都输出“未定义”。

0 投票
3 回答
1599 浏览

javascript - 服务器端 Javascript 最佳实践?

我们有一个基于 Java 的 CMS,它有用于服务器端 JS 的 Mozilla Rhino。目前 JS 代码库很小但正在增长。在为时已晚和代码变得一团糟之前,我想介绍一些最佳实践和编码风格。

显然,名称空间控制非常重要。但是其他最佳实践如何——尤其是对于 Java 程序员?

0 投票
3 回答
497 浏览

java - 从脚本调用 javascript 解释器

我在 Rhino 1.7 下用 Javascript 编写了一些脚本,其中一个启动了一个最小的 http 服务器并接受输入中的 JS 命令。

现在,如果我(从 Rhino 内部)调用:

我得到了内置的 JS 引擎(来自 Java 1.6),它是 Rhino 的旧版本,并且缺少一些功能(例如用于多个接口的 JavaAdapter)。

我如何获得犀牛引擎而不是那个?我需要 ScriptEngineManager.getEngineFactories() 还是其他什么?

0 投票
1 回答
442 浏览

javascript - eclipse E4\eclipse 3.6 用 rhino 调试 java 脚本

我对E4 eclipse 项目或 eclipse 3.6 感兴趣,这个平台提供了一些我真正感兴趣的想法,比如用 rhino 调试 javaScript。

不幸的是(但在意料之中)我找不到关于这个平台的任何材料(如果我成功了,我很乐意分享知识)

有人知道他们是否有论坛,我可以在其中提出问题并获得答案的群组吗?

谢谢

0 投票
6 回答
45645 浏览

javascript - 在Javascript中将日期转换为字符串

我正在寻找一种将 Javascript Date 对象转换为字符串的方法。我正在将我的网站从 Ruby 转换为服务器端 Javascript,并且我正在寻找类似于strftimeRuby、C 和许多其他语言的东西。

我发现很多简单的脚本可以进行这种转换,但如果有标准的方法,我不希望包含自定义实现。

我没有使用 Javascript 框架。我正在使用 Mozilla Rhino,但希望尽可能远离使用 Java 库,以便在实现之间轻松移动我的代码。

我希望能够指定字符串的格式,因为我想将它嵌入到一个句子中。我希望能够插入任意的 on's 和 at's,并拥有当天的全名,而不仅仅是缩写。所以 toString() 是不够的。

0 投票
3 回答
740 浏览

java - 运行 Rhino 时出错

我已经下载并编译了最新版本的 Rhino

当我像这样运行它时,出现以下错误

$JAVAHOME指向 /usr/lib/jvm/java-6-sun

0 投票
2 回答
604 浏览

.net - 用例“用户只能看到分配给他的客户的实体”的 Rhino 安全实施

我们正在构建/设计下一代销售/订购/CRM 系统,该系统由客户(尤其是客户层次结构)、订单、促销活动等实体组成……系统的每个用户都应该分配一个或多个客户。用户应该以组织层次结构的形式组织起来。系统应根据当前用户设置控制对客户相关实体的访问。问题是它应该在客户和用户方向上以分层方式工作。这意味着如果用户已经从层次结构中分配了客户 X,他也应该能够与该客户的所有孩子一起操作。并且以与用户类似的方式 - 经理应该能够与允许其下属的所有与客户相关的实体进行操作。

我想使用 Rhino Security 来限制对系统中实体的操作的访问,但我不确定它是否适合这种复杂的场景。我目前的想法是,如果我能够开发一些能够为所有新的/修改的实体生成实体组的后台进程(可能基于服务总线)应该是可能的。然而,这意味着将有相当数量的实体组没有任何良好的意图背景。不会有诸如“不支付账单的客户”之类的组,而只有诸如“用户 X 的客户”之类的组,其中包含所有允许的客户。将有一些其他操作将以更多 Rhino 安全标准的方式进行控制,例如“只有经理才能使客户无效”

我很感激对这个问题的任何想法......

0 投票
4 回答
184 浏览

javascript - 是否可以在访问时创建或交换 Javascript 属性

我想在javascript中有某种惰性初始化对象属性,因此希望以某种方式重载属性读写访问,即:

其中 myobj 是我提供给脚本的一些对象。

理由:我想在应用程序中使用 Javascript (Rhino) 作为脚本引擎,并且脚本需要访问的数据结构可能非常庞大和复杂。所以我不想提前将它们全部包装到 javascript 对象中,尤其是。因为此应用程序中的普通脚本只需要其中的一小部分。另一方面,我希望脚本尽可能简单易读,因此我不想在脚本中明确要求使用带有字符串参数的 get 或 set 方法。

0 投票
1 回答
2999 浏览

java - 犀牛嵌入

有人了解 rhino javascript 上下文吗?我找不到任何有用的文档。我的主要问题是 Context.exit() (真的应该是 cx.exit()),据我了解退出与当前线程关联的上下文?这是否意味着我需要跟踪哪个线程的作用?

主线程:

线程2:

我不打算做多线程,但如果不同的设置来自不同的线程怎么办?

0 投票
3 回答
5242 浏览

java - 验证 JavaScript 代码

我使用 Java 的 ScriptEngine 来执行 JavaScript 代码。我使用 Invocable 接口,以便可以将脚本代码用作实现 Java 接口的普通 Java 对象。

如果 JavaScript 代码

  • 是无效的
  • 不遵循接口(缺少方法、错误的返回类型、抛出异常等)

执行代码时,我从 Rhino 收到内部异常或 UndeclaredThrowableException。两者都是 RuntimeExceptions,它们是“不允许”捕获的。

有没有办法在执行之前验证代码?还是我必须在这里打破规则并捕获 RuntimeExceptions?这对我有用,但最优雅的方式是什么?