JSP ページから Java FX アプリケーションに動的に入力したいと考えています。適切な方法を見つけることができません。JSPページでのユーザー入力に基づいてJavaFXアプリケーションに入力を与えたいという意味で動的です。同じ Java FX アプリケーションを同じ JSP ページに埋め込んでいます。同じことに関してどんな助けも大歓迎です。JSPページを介して実行されているときに、Java FXアプリケーションに入力を与えたいです。
2 に答える
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 ソースを生成することができます。
よくわかりませんが、試してみてください: HostServices.getWebContext