2011-07-11 16 views
17

私はJavaクラスのコンテンツメソッドを返しました。文字列を返します。私の質問は、Javaメソッドから返された値を使用するためにJavaScriptコードでこの関数を呼び出す方法です。ブラウザに埋め込まれたクライアント側のJavaコードを呼び出す必要があります。私はJavaクラス・コンテンツ・メソッドを作成したいjavaメソッドをJavaScriptコードで呼び出す

function createChartControl(htmlDiv1) 
{ 
    // Initialize Gantt data structures 
    //project 1 
    var parentTask1 = new GanttTaskInfo(1, "Old code review", new Date(2010, 5, 11), 208, 50, ""); 
...................... 

:私はここでは、JavaScriptコードを持っている私のWebページに

それのいくつかである:ここ

はイム話して何のexempleがありますこのjavascript関数 "GanttTaskInfo"にデータを提供します。 名前を取得するexemple関数の場合は、IDと日付を取得します。 よく私は今この時間は明確だと思う:D 私はjavascriptでJavaメソッドを呼び出す方法を検索し、あなたが言ったようにアプレットを見つけましたが、私はそれが私にとって役に立たないと思います。 ありがとうございました

+1

質問は明確にする必要があります。 –

+3

どのJavaコードですか?アプレット?ウェブサービス? JSP?どのようなJavaScriptコードですか?ブラウザでは? Node.js?データが2つの間でどのようになると思いますか?実行しているコンピュータは何ですか? – Quentin

+0

これはリンゴとオレンジです。 JavaとJavascriptには本質的な関係はありません。それらは多少類似した構文と(残念ながら)類似の名前を持つ2つの言語に過ぎません。あなたは、あなたの問題の文脈についてより多くの情報を提供する必要があります。これはアプリケーションサーバー上で実行されているサーブレットですか、それともアプレットですか? Javascriptは、サーブレットによって生成されたWebページの一部として実行されるのですか、それともサーバーサイドのJavaScriptですか? – pap

答えて

21

サーバー側では、JSONでRESTfulなWebサービスを使用します。

  • Javaコードを使用すると、JavaScriptのブリッジを使用することができますアプレットである場合(例えば、with JQueryや道場のために)、JavaScriptから

をそのURLを呼び出す

  • Tomcatと例えば)ウェブサービスを作成します。 Javaプログラミング言語とJavaScriptプログラミング言語の間のブリッジは、非プラグインとしてLiveConnectと知られており、Javaプラグインに実装されています。以前は、静的なJavaメソッドを呼び出す機能、新しいJavaオブジェクトをインスタンス化する機能、JavaScriptからサードパーティのパッケージを参照する機能など、Mozilla特有のLiveConnect機能がすべてのブラウザで利用可能になりました。

    以下は、ドキュメントの例です。 methodReturningStringを見てください。

    Javaコード:

    public class MethodInvocation extends Applet { 
        public void noArgMethod() { ... } 
        public void someMethod(String arg) { ... } 
        public void someMethod(int arg) { ... } 
        public int methodReturningInt() { return 5; } 
        public String methodReturningString() { return "Hello"; } 
        public OtherClass methodReturningObject() { return new OtherClass(); } 
    } 
    
    public class OtherClass { 
        public void anotherMethod(); 
    } 
    

    WebページとJavaScriptコード:

    <applet id="app" 
         archive="examples.jar" 
         code="MethodInvocation" ...> 
    </applet> 
    <script language="javascript"> 
        app.noArgMethod(); 
        app.someMethod("Hello"); 
        app.someMethod(5); 
        var five = app.methodReturningInt(); 
        var hello = app.methodReturningString(); 
        app.methodReturningObject().anotherMethod(); 
    </script> 
    
  • -7

    Javaはサーバー側の言語ですが、javascriptはクライアント側の言語です。どちらも通信できません。 Javaを使用してサーバー側スクリプトを設定している場合は、クライアント上でAJAXを使用して非同期要求を送信し、可能なJava関数を呼び出すことができます。たとえば、jsフレームワークとしてjQueryを使用する場合は、$.ajax()メソッドを見てください。または、プレーンなjavascriptを使用したい場合は、here's a tutorial

    +16

    いいえ、[Javaはクライアント側の言語です](http://java.sun.com/applets/)[JavaScriptはサーバー側言語](http://en.wikipedia.org/wiki/Server-side_JavaScript)を参照してください。 – Quentin

    +1

    彼らは--Nadyaは、Javascriptが実際にJava世界に呼び出すことができるスクリプト可能なアプレットのシナリオを意味すると思います。しかし、とにかく質問はあまりにも詳細です;) – emboss

    +1

    はい、アプレットはまだ存在します。私は毎週1つを使用します(私はむしろそのように実装されていませんでした)。 – Quentin

    関連する問題