問題タブ [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.
java - スクリプトから JavaScript インタープリターを呼び出す
私は Rhino 1.7 の下で Javascript でいくつかのスクリプトを作成しました。そのうちの 1 つは最小限の http サーバーを起動し、入力で JS コマンドを受け入れます。
ここで、(Rhino 内から) 呼び出すと:
Rhinoの古いバージョンである組み込みのJSエンジン(Java 1.6から)を取得し、いくつかの機能(複数のインターフェース用のJavaAdapterなど)がありません。
その代わりに Rhino Engine を入手するにはどうすればよいですか? ScriptEngineManager.getEngineFactories() または他に何が必要ですか?
javascript - eclipse E4 \ eclipse3.6rhinoを使用したJavaスクリプトのデバッグ
私はE4eclipseプロジェクトまたはeclipse3.6に興味があります。このプラットフォームは、rhinoを使用したjavaScriptのデバッグのように、私が本当に面白いと思うことはほとんどありません。
残念ながら(しかし予想されていましたが)このプラットフォームに関する資料は見つかりませんでした(成功した場合は知識を共有したいと思います)
彼らがフォーラム、私が質問をして答えを得ることができるグループを持っているかどうか誰かが知っていますか?
ありがとう
javascript - Javascriptで日付を文字列に変換する
JavascriptDateオブジェクトを文字列に変換する方法を探しています。私は自分のサイトをRubyからサーバーサイドのJavascriptに変換していてstrftime
、Ruby、C、および他の多くの言語に類似したものを探しています。
この種の変換を行う簡単なスクリプトをたくさん見つけましたが、これを行う標準的な方法がある場合は、カスタム実装を含めたくありません。
私はJavascriptフレームワークを使用していません。私はMozillaRhinoを使用していますが、実装間でコードを簡単に移動できるように、Javaライブラリをできるだけ使用しないようにしたいと思います。
文字列を文に埋め込みたいので、文字列の形式を指定できるようにしたい。のとatに任意の名前を挿入できるようにし、省略形だけでなく、その日のフルネームを付けたいと思います。したがって、toString()では不十分です。
java - Rhinoの実行中にエラーが発生しました
Rhinoの最新バージョンをダウンロードしてコンパイルしました
このように実行すると、次のエラーが発生します
/ usr / lib / jvm/java-6-sunも$JAVAHOME
指します
.net - ユースケース「ユーザーは自分に割り当てられた顧客のエンティティのみを表示できる」ための Rhino Security 実装
私たちは、顧客 (特に顧客階層)、注文、プロモーション アクションなどのエンティティで構成される次世代の販売/注文/CRM システムを構築/設計しています。システムの各ユーザーは、1 人以上の顧客を割り当てている必要があります。ユーザーは、組織階層の形式で編成する必要があります。システムは、現在のユーザー設定に従って、顧客関連エンティティへのアクセスを制御する必要があります。問題は、顧客とユーザーの両方の方向で階層的に機能する必要があることです。つまり、ユーザーが階層から顧客 X を割り当てた場合、この顧客のすべての子も操作できる必要があります。また、ユーザーと同様に、マネージャーは、部下に許可されているすべての顧客関連エンティティを操作できる必要があります。
システム内のエンティティに対する操作へのアクセスを制限するために Rhino Security を使用したいのですが、この複雑なシナリオに適しているかどうかわかりません。私の現在の心境は、すべての新しい/変更されたエンティティのエンティティ グループを生成できるバックグラウンド プロセス (おそらくサービス バス ベース) を開発できれば、それが可能になるはずだということです。ただし、これは、善意の背景のないエンティティ グループが非常に大量に存在することを意味します。「請求書を支払わない顧客」などのグループはありませんが、許可されたすべての顧客を含む「ユーザー X の顧客」のようなグループだけです。「マネージャーのみが顧客を無効化できる」など、Rhino Security の標準的な方法で制御されるその他の操作がいくつかあります。
この問題について何か考えていただければ幸いです...
javascript - アクセス時にJavascriptプロパティを作成または交換することは可能ですか?
私はjavascriptである種の怠惰な初期化されたオブジェクトプロパティを持ちたいので、どういうわけかプロパティの読み取りおよび書き込みアクセスをオーバーロードしたいと思います。
ここで、myobjは、スクリプトに提供するオブジェクトです。
理論的根拠:アプリケーションのスクリプトエンジンとしてJavascript(Rhino)を使用したいのですが、スクリプトからアクセスする必要のあるデータ構造は非常に大きく複雑になる可能性があります。したがって、事前にすべてをjavascriptオブジェクト、特にjavascriptオブジェクトにラップしたくありません。このアプリケーションの平均的なスクリプトは、それらの非常に小さなサブセットしか必要としないためです。一方、スクリプトをできるだけシンプルで読みやすくしたいので、スクリプトで明示的に文字列引数を使用してgetメソッドまたはsetメソッドを使用する必要はありません。
java - サイの埋め込み
rhino javascript コンテキストを理解している人はいますか? それに関する有用なドキュメントが見つかりません。私の主な問題は Context.exit() (実際には cx.exit() である必要があります) です。これは、現在のスレッドに関連付けられているコンテキストを終了することを理解していますか? それは、どのスレッドが何をするかを追跡する必要があるということですか?
メインスレッド:
スレッド 2:
マルチスレッドを実行する予定はありませんが、異なるセットアップが異なるスレッドから来ている場合はどうなりますか?
java - JavaScript コードの検証
Java の ScriptEngine を使用して JavaScript コードを実行します。Invocable Interface を使用して、スクリプト コードを Java インターフェイスを実装する通常の Java オブジェクトとして使用できるようにします。
JavaScript コードの場合
- 無効です
- インターフェイスに従っていません (メソッドの欠落、戻り値の型の誤り、例外のスローなど)。
コードの実行中に、Rhino から内部例外または UndeclaredThrowableException が発生しました。どちらも、キャッチすることが「許可されていない」RuntimeExceptions です。
実行前にコードを検証する方法はありますか? それとも、ここでルールを破って RuntimeExceptions をキャッチする必要がありますか? それは私にとってはうまくいくでしょうが、最もエレガントな方法は何ですか?
java - RhinoとEclipseを使用してJavaScriptから外部JARファイルにアクセスするにはどうすればよいですか?
私はMozillaRhinoを使用してJavaScriptサーバーアプリケーションを作成しています。Webに簡単にアクセスできるようにプロジェクトにHttpClientクラスを含めたいのですが、RhinoにHttpClientJARファイルをロードさせるようにEclipseプロジェクトを構成する方法がわかりません。
js.jar
(Rhinoから) Eclipseのプロジェクトのビルドパスに追加httpclient-4.0.1.jar
し、実行構成でRhinoのjs.jar(検出された)からMainクラスを指定し、JavaScriptファイルで基本的にこれを行います。
これを言うのは失敗します:
どうしてこんなに難しいの?私は根本的に間違ったことをしているに違いありません。
javascript - JNA、Rhino、JavaScriptを使用したcharバッファの割り当て
イッカクでは、JNAを使用してやlibc
のような呼び出しを行っています。これは、プリミティブのみを扱うRhinoのJavaScriptに関連するため、JNAインターフェイスに関する限られた知識でしか使用できませんでした。charバッファを割り当てて、そのバッファからJavaScript文字列を取得し、おそらく句でバッファの割り当てを解除できるようにする方法を知る必要があります。getcwd
chdir
getcwd
finally
libc
インターフェイスを取得する方法は次のとおりです。
chdir
実装方法は次のとおりです。
ここにソリューションが必要ですgetcwd
RubyまたはJNA用の他の組み込み言語のソリューションが役立ちます。