1

我想从 JSP 页面向 Java FX 应用程序提供动态输入。我找不到任何合适的方法。从某种意义上说是动态的,我想根据 JSP 页面中的用户输入向 JavaFX 应用程序提供输入。我在同一个 JSP 页面中嵌入了同一个 Java FX 应用程序。欢迎任何帮助。我想在 Java FX 应用程序通过 JSP 页面运行时为其提供输入。

4

2 回答 2

1

请参阅 JavaFX 部署主题:从网页访问 JavaFX 应用程序

JavaFX 中的 JavaScript => JavaFX 接口与用于传统 Java 小程序的接口相同——它利用了一种称为 LiveConnect 的技术。有关使用 LiveConnect 的更多文档位于 LiveConnect 文档主题:从 JavaScript 调用到 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 taskplaceholderid的参数。

现在,因为您使用的是 JSP,所以大概包含应用程序的 html 页面是由 JSP 处理器动态生成的。因此,您可能想要做的是利用fx:template任务生成修改后的 jsp 源代码,该源代码调用dtjava 部署脚本来嵌入您的目标 JavaFX 应用程序。

于 2013-01-26T00:57:43.847 回答
0

我不确定,但请尝试:HostServices.getWebContext

于 2013-01-25T13:28:04.210 回答