問題タブ [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.
java - 外部 src 属性を持つ javascript の javax.script パッケージの使用
ブラウザで実行すると、次のように入力されるjavascriptがあるとします...
...そして、Java 1.6 の javax.script パッケージを使用して、このコードを (アプレット内ではなく) jvm 内で実行し、内容を取得したいと考えています。構築するクラスのソースがリモート .ashx ファイル内にあることをエンジンに知らせるにはどうすればよいですか?
たとえば、Javaコードを次のように書くことを知っています...
...しかし、「JavaScript」エンジンは、リモートの .ashx ファイルに情報があるため、デフォルトでは TheStuff クラスについて何も知りません。これを上記の src 文字列に見えるようにすることはできますか?
java - Java6 Rhino Script Engine で実行する JavaScript 用の「ウィンドウ」オブジェクトを作成できますか?
- Java6 サーバーで Javascript を実行したいと考えています。つまり、javax.script API、具体的には Rhino Script Engine を使用しています。(別の解決策も受け入れられますが)
- スクリプト ファイルはサード パーティによって作成およびサポートされているため、時間の経過とともに変更された場合に備えて、ダウンロードして編集したくありません。
- スクリプトは、Rhino がサポートしていない
ように見える「ウィンドウ」オブジェクト (およびおそらく「ドキュメント」オブジェクトなど) を直接参照します。
私はこれを行うことができますか?
javascript - javax.scripting を使用して実行されるスクリプトを保護するにはどうすればよいですか?
javax.scripting
サーバー側でユーザーがアップロードした任意の JavaScript を実行するためのサポートを追加するために使用しています。明らかに、これらのスクリプトを保護したいのです!
Rhino 自体には、実行時にスクリプトを保護するためのフレームワークがあります。ただし、のドキュメントにjavax.scripting
は、セキュリティ、アクセス許可、またはスクリプトで使用できるクラスの制限については言及されていません。これは、javax.scripting
API が実行するスクリプトを保護するためのフレームワークを提供していないという API の単なる大きな穴ですか?
Rhino を直接使用したくはありません。もともと試してみたのですが、Java インスタンスを実行中のスクリプトに公開する際に問題があったためです。フレームワーク(javax.scripting
ボンネットの下で Rhino を使用) により、この作業は簡単になり、マルチスレッド サーバーでのスクリプトの実行も簡素化されました。
実行中のスクリプト内でアクセス/インスタンス化できる Java クラスをホワイトリストに登録したいと考えています。これを達成する方法の例やドキュメントを教えてもらえますか?
java - Java 6: javax.script を使用して独自のスクリプト言語を実装する例?
javax.scriptを使用して 独自のスクリプト言語を実装するための良い例が本当に見つかりません...
始めるには何かが必要です。
- ドキュメンテーション
- 例
- チュートリアル
- 動画
- プレゼンテーションスライド (PDF)
注 1: 私は本当に JavaScript について話しているわけではありません ;)
注 2:例は必要ありません。既存の実装を使用する方法、独自の言語を実装したい.
ありがとうございました。
java - javax.script に JavaScript ライブラリをロードしていますか?
Java からProtovis JavaScript を実行し、評価済みの SVG コードを取得したいと考えています。私は javax.script.* を使用して Javascript を実行しています:
これは、通常は Protovis で行われるように、Protovis 自体をロードしなかったため、文句を言うでしょう。
完全なJavascriptをeval()コマンドにソースする以外に、javax.scriptを介してJavascriptを実行するときにライブラリをロードする良い方法はありますか?
java - javax.script または Rhino を使用して、ブラウザ コンテキスト (envjs など) で Java で javascript を実行しますか?
以下を使用してJavaプログラムからProtovis JavaScriptを実行しようとしていますjavax.script
:
これを実行するには、JavaScript エンジンが Web ブラウザーのすべてのコンテキストを持っている必要があります。これに最適なオプションはenvjsのようです。残念ながら、JVM に含まれる Rhino のバージョンは最新ではなく、envjs に必要なすべてが含まれていないようです。
javax.script からブラウザー コンテキストを操作して成功した人はいますか、それとも何か不足していますか?
これは、「Java6 Rhino スクリプト エンジンで実行される JavaScript 用の「ウィンドウ」オブジェクトを作成できますか」という質問に関連しています。
java - スクリプト エンジン (jython) を介して Java から Python を呼び出しますか?
以下を使用してJava 6アプリケーションからJythonを呼び出そうとしていますjavax.script
:
これにより、NullPointerException が発生します。
ここで私が間違っていることを知っている人はいますか?
編集:
回答ありがとうございます。jython.jar をクラスパスに追加したところ、正しく実行されました。
java - javax script Java から JavaScript の関数を呼び出す方法
Java経由でJavaScriptの関数を呼び出そうとしています。スクリプトを文字列として直接読み取る場合、これは問題なく機能しますが、CompiledScripts を使用しています。
コンパイルされたスクリプトでこれを行うと、バインドも追加すると、メソッドが見つかりません。バインディングがなくても機能しますが、バインディングが必要なため、もちろん関数は失敗します。
何か案は?
ティア
java - Java で独自の Rhino コンテキストを指定するにはどうすればよいですか?
Rhino スクリプト (Java 6 で実行) が厳密であることを確認して、スクリプト開発者が式のスペルを間違えた場合に例外をスローするようにしています。現在、式は単純に「未定義」と評価されます。
Mozilla org https://developer.mozilla.org/en/New_in_Rhino_1.6R6によると、コンテキストで厳密なチェックを有効にする機能があります。これの実例が見つかりません。
これまでに行ったことは、ContextFactory を拡張して hasFeature メソッドをオーバーライドするクラスを作成することでした。
次に、メインで私のものをデフォルトに設定します。
不正な状態の例外が発生します。:(
これがどのように機能するかについてのアイデアやサンプルはありますか?
ティア
java - Import a class in Scripting java (javax.script)
I want to import a class that I made in my project, into my script I did this but it doesn't work: