問題タブ [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 - 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 メソッドを呼び出す方法は説明されていません。フォームジャバスクリプト。
ありがとう
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 番目のジョブ チェーンの最初のジョブしか実行できません。
ジョブチェーンの構成エラーですか?
何か案が ?ありがとう !
java - Java から ScriptEngine を使用してカスタム スクリプト関数を呼び出す
Python、Groovy、および JavaScript で記述された異なるスクリプト ファイルに同じ名前の同じカスタム関数があります。ユーザーは、使用するスクリプトの 1 つを選択できます。これらのスクリプトから一般的な方法で関数を呼び出したいです。
このようにして、「CustomJs.js」または「Customgroovy.groovy」でリーダーファイルを変更して、ScriptEngineManager パラメーターを「javascript」または「groovy」に変更しても関数を呼び出すことができます。
invokeFunction
ただし、以下のように使用せずに関数を呼び出す方法はあるのでしょうか。
まず、スクリプトを評価し、結果をバインドしてから、このオブジェクトの関数を呼び出します。
このような方法がある場合、または他の提案がある場合、これは私にとって最も一般的な方法ですか?
java - ScriptEngine は Java String では機能しますが、String[] では失敗します
次のコードは、String rani=String rani = "32*0.25"; のデータの計算を行います。正しい出力が 8.0 になります。
ただし、次のコードで使用すると失敗します。
プログラミングが初めてなので、このコードを修正するには助けが必要です。
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と同じことを行うにはどうすればよいですか?
java - JSR-223 コンテキストでコンパイルされたスクリプトの性質は何ですか?
明確な答えは見つかりませんでした。スクリプトは ByteCode に変換されていますか? スクリプト固有の擬似コードに?
コンパイル済みの nashorn スクリプトを使用する場合、JIT コンパイラがスクリプトの Java 変換でジョブを実行したため、またはスクリプトの特定の解析済みバージョンが nashorn のような VM の解釈 (smallTalk オプションの種類) 用に準備されているため、単純にコンパイルされていますか? ) ? ご協力いただきありがとうございます
java - Nashorn エラー ストリームに書き込む方法は?
Java アプリケーションから Nashorn スクリプトを使用しています。Java はコンテキスト (errorWriter を含む) を設定し、すべて正常に動作します... しかし、nashorn スクリプトからエラー ストリームに書き込む方法が見つかりませんでした。誰か知っていますか ?
エラーをスローしようとしましたが、エラー出力ストリームではなく、scriptException に出力されます。
アイデアをありがとう。
java - javaで論理演算を保持する文字列をブール値として評価する
テストとしてブール値を評価しようとして"in1 && in2"
いますが、実際のプロジェクトのスティングとしてすべてのブール値を評価できることを願っています。in1 と in2 は、ブール状態を持つノードの名前です。実際の式は次のようになります。
logic は評価したいロジックに接続する文字列です。curname は現在のノード名で、ブール値 (たとえば "in1") に置き換えられます。ループ内にあるため、文字列が評価される前にすべてのノード名が置き換えられます。nodes は配列リストです。ノードの ins はノード配列内の入力ノードのインデックスであり、getState()
ノードのブール値を返します。これは正常に機能し、論理文字列の新しい値を「true && true」に設定します。
難しいのは、文字列をブール値として評価することです。ここで私を助けるために javax.script を使用できることがわかりました。だから私はそれをそのように実装しました
問題は、毎回 false と評価されることです。eval によって返されたオブジェクトをブール値としてキャストして、そのように表示しようとすると、
false を返すだけです。
eval に関するオラクルのページでは、 evalに渡すことができる他のパラメーターがいくつかあることがわかります。そのうちの1つが欠けていますか、それともまったく別のものですか?
*ちなみに、ここに示していないコードでは問題ありません。文字列ではなく生のブール値で評価をテスト済みです。
java - eval() を使用して文字列を評価できません
電卓アプリを作ろうとしています.TextViewの中身を評価してトーストメッセージとして表示したいです。eval() ステートメントは、以下のように ScriptException の例外をスローします。
javax.script.ScriptException をインポートした場合でも。なぜ例外がスローされているのかわかりません。
ここに私のxmlコードがあります:
ここに私のJavaコードがあります:
PS。これは学校のプロジェクトのためなので、できるだけ早く返信が必要です
java - JavaからKotlinを呼び出すときにエラーの行番号を取得するには?
Java から kotlin スクリプトを呼び出すときにエラーが発生している行を取得しようとしています。
次のコードは行番号 -1 を与えます。
何か不足していますか?