問題タブ [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 に答える
1632 参照

java - javax.script コールバックとして使用する Java メソッドを javascript に渡します

javax.script を使用して、javascript コードを Java メソッドに埋め込みます。

私のプロジェクトでは、javascript が websocket を介して非同期の http 要求を送信するようにします。応答を受信したら、コールバック関数を実行する必要があります。

Java で記述されたメソッドをコールバックとして呼び出したいと考えています。

ここのドキュメント: http://docs.oracle.com/javase/6/docs/technotes/guides/scripting/programmer_guide/ インターフェースの javascript で Java メソッドを実装する方法が説明されていますが、Java メソッドを呼び出す方法は説明されていません。フォームジャバスクリプト。

ありがとう

0 投票する
1 に答える
728 参照

java - SOS - ベルリンのスケジューラーは次のジョブを続行できません

現在、SOS スケジューラーを sun solaris から Oracle linux に移行しています。

SOS Berlin スケジューラーは 1.5.3253 の最新バージョンです - Java JDK 1.7.0.45 を搭載した Linux X64 - 64 ビット

前回はJavaScriptを使っていたのですが64ビットでは対応できないのでjavax.script:javascriptを使うように変更しました

すべてのジョブを実行できることを嬉しく思いますが、問題は、最初のジョブがトリガーされると、ジョブが次のジョブに続行されないことです。

変更したスクリプトは次のとおりです。

これが私のジョブチェーンです:

これが私の最終的な仕事です:

ただし、終了ジョブの後、次のチェーンに移動して続行できますが、2 番目のジョブ チェーンの最初のジョブしか実行できません。

ジョブチェーンの構成エラーですか?

何か案が ?ありがとう !

0 投票する
1 に答える
1878 参照

java - Java から ScriptEngine を使用してカスタム スクリプト関数を呼び出す

Python、Groovy、および JavaScript で記述された異なるスクリプト ファイルに同じ名前の同じカスタム関数があります。ユーザーは、使用するスクリプトの 1 つを選択できます。これらのスクリプトから一般的な方法で関数を呼び出したいです。

このようにして、「CustomJs.js」または「Customgroovy.groovy」でリーダーファイルを変更して、ScriptEngineManager パラメーターを「javascript」または「groovy」に変更しても関数を呼び出すことができます。

invokeFunctionただし、以下のように使用せずに関数を呼び出す方法はあるのでしょうか。

まず、スクリプトを評価し、結果をバインドしてから、このオブジェクトの関数を呼び出します。

このような方法がある場合、または他の提案がある場合、これは私にとって最も一般的な方法ですか?

0 投票する
1 に答える
2192 参照

java - ScriptEngine は Java String では機能しますが、String[] では失敗します

次のコードは、String rani=String rani = "32*0.25"; のデータの計算を行います。正しい出力が 8.0 になります。

ただし、次のコードで使用すると失敗します。

プログラミングが初めてなので、このコードを修正するには助けが必要です。

0 投票する
1 に答える
763 参照

java - Java ScriptEngine (nashorn & rhino): スコープ/バインディングをスタックする方法は?

Rhino1.7R4とそのorg.mozilla.javascriptパッケージを使用してソフトウェアを移植し、 javax.scriptパッケージとその ScriptEngine ( Java 6 & 7 のRhino 、Java 8 のNashorn ) を使用する必要があります。

主な問題は、スコープ (バインディング) をスタックすることです。Rhino jar を使用して、次のことを行います。

そう

  • 変数が var なしで定義されている場合、それはグローバル変数 (ルート スコープ) です。
  • 変数が var で定義されている場合、それはローカル変数です (現在のスコープ)
  • 変数がアクセスまたは変更された場合、その現在のスコープ、親、祖父母、およびグローバル スコープでのエンジン ルックアップ

これは JS 標準の動作です。

javax.script API を使用してsetParentScopeと同じことを行うにはどうすればよいですか?

0 投票する
1 に答える
122 参照

java - JSR-223 コンテキストでコンパイルされたスクリプトの性質は何ですか?

明確な答えは見つかりませんでした。スクリプトは ByteCode に変換されていますか? スクリプト固有の擬似コードに?

コンパイル済みの nashorn スクリプトを使用する場合、JIT コンパイラがスクリプトの Java 変換でジョブを実行したため、またはスクリプトの特定の解析済みバージョンが nashorn のような VM の解釈 (smallTalk オプションの種類) 用に準備されているため、単純にコンパイルされていますか? ) ? ご協力いただきありがとうございます

0 投票する
1 に答える
696 参照

java - Nashorn エラー ストリームに書き込む方法は?

Java アプリケーションから Nashorn スクリプトを使用しています。Java はコンテキスト (errorWriter を含む) を設定し、すべて正常に動作します... しかし、nashorn スクリプトからエラー ストリームに書き込む方法が見つかりませんでした。誰か知っていますか ?

エラーをスローしようとしましたが、エラー出力ストリームではなく、scriptException に出力されます。

アイデアをありがとう。

0 投票する
1 に答える
1667 参照

java - javaで論理演算を保持する文字列をブール値として評価する

テストとしてブール値を評価しようとして"in1 && in2"いますが、実際のプロジェクトのスティングとしてすべてのブール値を評価できることを願っています。in1 と in2 は、ブール状態を持つノードの名前です。実際の式は次のようになります。

logic は評価したいロジックに接続する文字列です。curname は現在のノード名で、ブール値 (たとえば "in1") に置き換えられます。ループ内にあるため、文字列が評価される前にすべてのノード名が置き換えられます。nodes は配列リストです。ノードの ins はノード配列内の入力ノードのインデックスであり、getState()ノードのブール値を返します。これは正常に機能し、論理文字列の新しい値を「true && true」に設定します。

難しいのは、文字列をブール値として評価することです。ここで私を助けるために javax.script を使用できることがわかりました。だから私はそれをそのように実装しました

問題は、毎回 false と評価されることです。eval によって返されたオブジェクトをブール値としてキャストして、そのように表示しようとすると、

false を返すだけです。

eval に関するオラクルのページでは、 evalに渡すことができる他のパラメーターがいくつかあることがわかります。そのうちの1つが欠けていますか、それともまったく別のものですか?

*ちなみに、ここに示していないコードでは問題ありません。文字列ではなく生のブール値で評価をテスト済みです。

0 投票する
4 に答える
269 参照

java - eval() を使用して文字列を評価できません

電卓アプリを作ろうとしています.TextViewの中身を評価してトーストメッセージとして表示したいです。eval() ステートメントは、以下のように ScriptException の例外をスローします。

javax.script.ScriptException をインポートした場合でも。なぜ例外がスローされているのかわかりません。

ここに私のxmlコードがあります:

ここに私のJavaコードがあります:

PS。これは学校のプロジェクトのためなので、できるだけ早く返信が必要です

0 投票する
1 に答える
296 参照

java - JavaからKotlinを呼び出すときにエラーの行番号を取得するには?

Java から kotlin スクリプトを呼び出すときにエラーが発生している行を取得しようとしています。

次のコードは行番号 -1 を与えます。

何か不足していますか?