1

JSP ページから Java FX アプリケーションに動的に入力したいと考えています。適切な方法を見つけることができません。JSPページでのユーザー入力に基づいてJavaFXアプリケーションに入力を与えたいという意味で動的です。同じ Java FX アプリケーションを同じ JSP ページに埋め込んでいます。同じことに関してどんな助けも大歓迎です。JSPページを介して実行されているときに、Java FXアプリケーションに入力を与えたいです。

4

2 に答える 2

1

JavaFX デプロイメントのトピックを参照してください: Accessing a JavaFX Application from a Web Page .

JavaFX の JavaScript => JavaFX インターフェースは、従来の Java アプレットで使用されるものと同じで、LiveConnect と呼ばれるテクノロジーを利用します。LiveConnect の使用に関する詳細なドキュメントは、LiveConnect ドキュメントのトピック: Calling from JavaScript to Java にあります。

JavaFX ドキュメントには、次のサンプル コードが記載されています。

Java コード

package testapp;

public class MapApp extends Application {
    public static int ZOOM_STREET = 10;

    public static class City {
        public City(String name) {...}
        ...
    }

    public int currentZipCode;

    public void navigateTo(City location, int zoomLevel) {...}
    ....
}

JavaScript コード

function navigateTo(cityName) {
    //Assumes that the Ant task uses "myMapApp" as id for this application
    var mapApp = document.getElementById("myMapApp");
    if (mapApp != null) {
        //City is nested class. Therefore classname uses $ char 
        var city = new mapApp.Packages.testapp.MapApp$City(cityName);
        mapApp.navigateTo(city, mapApp.Packages.testapp.MapApp.ZOOM_STREET);
        return mapApp.currentZipCode;
    }
    return "unknown";
}
window.alert("Area zip: " + navigateTo("San Francisco"));

JavaScript コードの重要なコメント「Ant タスクが "myMapApp" をこのアプリケーションの ID として使用することを前提としています」に注意してください。参照される idはfx:deploy タスクplaceholderidのパラメーターです。

JSP を使用しているため、おそらくアプリケーションを含む html ページは JSP プロセッサによって動的に生成されます。そのため、fx:templateタスクを使用して、dtjava デプロイメント スクリプトを呼び出してターゲット JavaFX アプリケーションを埋め込む、変更された jsp ソースを生成することができます。

于 2013-01-26T00:57:43.847 に答える
0

よくわかりませんが、試してみてください: HostServices.getWebContext

于 2013-01-25T13:28:04.210 に答える