JavaFX : Pass arguments from JavaScript to JNLP

标签 java javascript jnlp argument-passing

我正在尝试使用 Java Web start(由 NetBeans 生成)部署 JavaFX 2 应用程序,我需要使用 JavaScript 将一些参数传递给我的应用程序。

第一个问题:这可能吗? 第二个问题:如果可以,我该怎么做。 :-)

我的 JNLP 文件是:

<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0" xmlns:jfx="http://javafx.com" href="MD.jnlp">
  <information>
    <title>MD</title>
    <offline-allowed/>
  </information>
  <resources>
    <jfx:javafx-runtime version="2.2+" href="http://javadl.sun.com/webapps/download/GetFile/javafx-latest/windows-i586/javafx2.jnlp"/>
  </resources>
  <resources>
    <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
    <jar href="MD.jar" size="675286" download="eager" />
    <jar href="lib/log4j-1.2.17.jar" size="519899" download="eager" />
  </resources>
<security>
  <all-permissions/>
</security>

  <applet-desc  width="800" height="600" main-class="com.javafx.main.NoJavaFXFallback"  name="MD" >
    <param name="requiredFXVersion" value="2.2+"/>
  </applet-desc>
  <jfx:javafx-desc  width="800" height="600" main-class="com.blabla.MD"  name="MD" >
    <fx:param name="jmeno" value="hodnota"/>
  </jfx:javafx-desc>
  <update check="always"/>
</jnlp>

我的网页有这段代码:

<SCRIPT src="./web-files/dtjava.js"></SCRIPT>
<script>
function launchApplication(jnlpfile) {
    dtjava.launch(            {
            url : 'MD.jnlp',
        },
        {
            javafx : '2.2+'
        },
        {}
    );
    return false;
}
</script>

谢谢。 :-)

最佳答案

已解决:

function launchApplication(jnlpfile) {
            dtjava.launch({
                url: 'MD.jnlp',
                params: {'name':'value'}
            },
            {
                javafx: '2.2+'
            },
            {}
            );
            return false;
        }

在 JavaFX 应用程序中,参数不在 String[] args 中,但您必须使用方法获取:

getParameters();

这记录在 JavaFX Deployment Guide documentation for the Java Deployment Tookit (dtjava.js) 中以及 JavaFX 应用程序 getParameters方法 JavaDoc。

关于JavaFX : Pass arguments from JavaScript to JNLP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15634247/

相关文章:

javascript - 仅将列表中的项目转移到另一个列表javascript

javascript - 如何改善ReactJS中的设置状态?

带有签名的 Java Web 启动

Java Swing JScrollPane 不滚动/缩放

java - 如何在JAVA中旋转AWT矩形?

java - 如何排序通过 Java 输入作为字符串接收的 int 数组/列表

java - 空指针异常 jnlp.FileSaveService

Java 返回类型与 WebCrawler.visit(Page) 不兼容

javascript - 客户端和服务器端编程有什么区别?

java - 通过 JWS 和生成的 JNLP 部署 Java 应用程序