问题标签 [javax.script]

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 投票
2 回答
2344 浏览

java - 使用带有外部 src 属性的 javascript 的 javax.script 包

假设我有一些 javascript,如果在浏览器中运行会这样输入......

...并且我想使用 java 1.6 中的 javax.script 包在 jvm 中(而不是在小程序中)运行此代码并获取内容。如何让引擎知道要构造的类的来源在远程 .ashx 文件中?

例如,我知道将 java 代码编写为...

...但是“JavaScript”引擎默认情况下对 TheStuff 类一无所知,因为该信息位于远程 .ashx 文件中。我可以让它看看上面的 src 字符串吗?

0 投票
2 回答
8495 浏览

java - 我可以为在 Java6 Rhino 脚本引擎中运行的 javascript 创建一个“窗口”对象吗

  • 我想在我的 Java6 服务器上运行一些 Javascript - 即使用 javax.script API,特别是 Rhino 脚本引擎。(虽然另一种解决方案是可以接受的)
  • 脚本文件是由第三方创建和支持的,所以我不想下载和编辑它,以防它随着时间的推移而改变。
  • 该脚本直接引用了 Rhino 似乎不支持的“窗口”对象(可能还有“文档”对象等

我可以这样做吗?如果可以,怎么做?

0 投票
3 回答
4840 浏览

javascript - 如何保护使用 javax.scripting 运行的脚本?

我正在使用javax.scripting添加对在服务器端运行任意用户上传的 JavaScript 的支持。显然我想保护这些脚本!

Rhino 本身就有一个在运行时保护脚本的框架。但是,的文档javax.scripting没有提及脚本可用的安全性、权限或限制类。那么这只是javax.scriptingAPI 中的一个巨大漏洞,它没有提供一个框架来保护它执行的脚本吗?

我不想直接使用 Rhino,因为我最初尝试过,但是在将 Java 实例暴露给正在运行的脚本时遇到了一些问题。javax.scripting框架使它(它在引擎盖下使用 Rhino)使这变得微不足道,并且还简化了多线程服务器中的运行脚本。

我想将可以在运行脚本中访问/实例化的 Java 类列入白名单。谁能指出我如何实现这一目标的示例或文档?

0 投票
4 回答
2131 浏览

java - Java 6:使用 javax.script 实现自己的脚本语言的示例?

我真的找不到使用 javax.script实现自己的脚本语言的好例子......

我需要一些东西来开始。

  • 文件资料
  • 例子
  • 教程
  • 视频
  • 演示幻灯片 (PDF)

注1:我真的不是在谈论javascript;)
注2:我不需要示例,如何使用现有的实现,我想实现自己的语言

谢谢你。

0 投票
1 回答
1565 浏览

java - 在 javax.script 中加载 javascript 库?

我想从 Java 运行Protovis javascript 并获得评估的 SVG 代码。我正在使用 javax.script.* 来运行 Javascript:

这会抱怨,因为我从来没有像通常那样加载 Protovis 本身

在通过 javax.script 运行 Javascript 时,是否有一种好方法,除了将完整的 Javascript 导入 eval() 命令中来加载库?

0 投票
1 回答
1902 浏览

java - 使用 javax.script 或 Rhino 在具有浏览器上下文(例如 envjs)的 Java 中运行 javascript?

我正在尝试使用以下方式从 Java 程序运行Protovisjavax.script javascript :

为了运行它,JavaScript 引擎需要拥有 Web 浏览器的所有上下文。最好的选择似乎是envjs。不幸的是,JVM 中包含的 Rhino 版本似乎不是最新的,并且没有包含 envjs 所需的所有内容。

有没有人成功使用 javax.script 的浏览器上下文,或者我错过了什么?

这与以下问题有关:“我可以为在 Java6 Rhino 脚本引擎中运行的 javascript 创建一个‘窗口’对象吗”

0 投票
2 回答
17395 浏览

java - 通过脚本引擎 (jython) 从 Java 调用 Python?

我正在尝试使用以下方法从 Java 6 应用程序调用 Jython javax.script

这导致 NullPointerException:

有谁知道我在这里做错了什么?

编辑:

感谢您的回复!我将 jython.jar 添加到类路径中,它运行正常:

0 投票
1 回答
5698 浏览

java - javax脚本如何从Java调用JavaScript中的函数

我正在尝试通过 Java 调用 JavaScript 中的函数。当直接将脚本作为字符串读取但我使用的是 CompiledScripts 时,这可以正常工作。

当我使用已编译的脚本执行此操作时,如果我还添加绑定,它会给我找不到方法。没有绑定它可以工作,但是该函数当然会失败,因为它需要绑定。

有任何想法吗?

TIA

0 投票
1 回答
1188 浏览

java - 如何在 Java 中指定我自己的 Rhino 上下文?

我试图确保我的 Rhino 脚本(在 Java 6 下运行)是严格的,这样如果脚本开发人员拼错了一个表达式,我希望抛出一个异常。目前发生的是表达式简单地计算为“未定义”。

现在根据 Mozilla org https://developer.mozilla.org/en/New_in_Rhino_1.6R6,有一些功能可以在上下文中启用严格检查。我找不到一个可行的例子。

到目前为止,我所做的是编写一个类来扩展 ContextFactory,然后重写 hasFeature 方法。

然后在 Main 我将我的设置为默认值。

我得到一个非法的状态异常。:(

关于它如何工作的任何想法或示例?

TIA

0 投票
1 回答
1526 浏览

java - 在 Scripting java (javax.script) 中导入一个类

我想将我在项目中创建的类导入到我的脚本中,但它不起作用: