我一直在尝试传递我创建的变量,以便您可以在 JavaFX 中加载 WebView 时指定要连接的服务器。我的应用程序的设置方式基本上是在 JavaFX 中模拟网页。它创建一个场景,将其设置为舞台并调用show()
. Initialize 被覆盖,并创建一个表示 HTML 文件的文件路径的 URL。然后在此 URL 上调用 load()。有什么方法可以让 Javascript 了解 JavaFX 中的变量load()
吗?
例如:
public class MyClass implements Initializable
{
@FXML
private WebView wWeb;
private String server = "xyz:server";
@Override
public void initialize(URL url, Resource rb)
{
URL urlContent = getClass().getResource("index.html");
wWeb.getEngine().load( urlContent.toExternalForm() );
}
}
我尝试通过添加在 .html 之后添加服务器"?server=" + server
,但 JavaFX 认为整个 String 是文件名,并且找不到具有该确切名称的文件。在加载时将 DOM 从 Java 传递到 Javascript 应该不难。任何帮助都会很棒。我一直在寻找解决方案一段时间,并阅读了许多 SO 页面,但没有一个解决问题。