1

DWR libraryJavascriptでJavaオブジェクトを操作するためにこれを行うことができることを私は知っています。しかし、プレーンな Javascript オブジェクトを使用して でJava Objects実際にインスタンス化できるかどうか知りたいですか?Javascript

インターネットで検索したところ、このリンクとJavascriptで話すこのリンクが見つかりました。Packages objectこのオブジェクトは JS 1.1 以降の JS の一部であると読みましたが、本当ですか?

しかし、実際に を使用var myClass = new Packages.myPackage.myClass();すると、Packagesが定義されていないことがわかります。明らかに、ここで何かを見逃しています。

私のユースケースではJava Pojo、JS でインスタンス化する必要があります。これを達成する方法についての手がかりはありますか?

4

2 に答える 2

1

この機能は、JavaScript エンジン (つまり、JavaScript を実行するインタープリター) に依存します。ブラウザーでこれを実行しようとしたことはありませんが、Java プラグインが有効になっている場合は可能かもしれません (セキュリティ上の理由から、少なくとも無条件ではありません)。

特別なオブジェクトは、Java VM で実行される JavaScript インタープリターなどのRhino エンジンPackagesの機能です。はアクセサ メソッドをオーバーロードしているため、 を記述すると、内部でクラスを検索し、Java と JavaScript の世界を便利な方法で接続したものを返します。PackagesPackages.com.pany.Foo

ここでチュートリアルを見つけることができます: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Scripting_Java

于 2014-10-27T13:08:45.967 に答える
0

new キーワードを使用して、Java オブジェクトを作成し、それを JavaScript の変数に割り当てることができます。Java クラスのインスタンスを作成すると、JavaScript は自動的に JavaObject オブジェクトを作成します。たとえば、JavaScript から Java String をインスタンス化し、それを変数に割り当てることができます。次に、ドット演算子を使用してオブジェクトのlength()

var myString=new java.lang.String("Test String");
alert(myString.length()); //prints 11

詳細については、このリンクをたどることができますhttp://www.sitepoint.com/connect-java-to-javascript-with-liveconnect/

于 2014-10-27T12:35:36.937 に答える