我想从 JSP 页面向 Java FX 应用程序提供动态输入。我无法找到任何合适的方法。 动态是指我希望根据 JSP 页面中的用户输入向 JavaFX 应用程序提供输入。我将相同的 Java FX 应用程序嵌入到相同的 JSP 页面中。 欢迎对此提供任何帮助。 我想在 Java FX 应用程序通过 JSP 页面运行时为其提供输入。
最佳答案
请参阅 JavaFX 部署主题:Accessing a JavaFX Application from a Web Page .
JavaFX 中的 JavaScript => JavaFX 接口(interface)与传统 Java applet 中使用的接口(interface)相同 - 它利用了一种称为 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 task 的 placeholderid
参数。 。
现在,因为您使用的是 JSP,所以包含应用程序的 html 页面大概是由 JSP 处理器动态生成的。因此,您可能想做的是利用 fx:template生成修改后的 jsp 源的任务,该源调用 dtjava deployment script嵌入您的目标 JavaFX 应用程序。
关于java - 从 JSP 输入到 JavaFX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14521978/