如何建立一个动态的JNLP文件?

How to build a dynamic JNLP file?

我正在创建一个 jnlp 文件,但我需要接收一些 URL 参数。

我有一个方法可以从 jsp 文件中捕获 URL:

String getParameter (HttpServletRequest request, String param)

问题是如何给jnlp文件添加参数:

<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0" codebase="https://localhost:8443/java-web-start/test/" href="start.jnlp">

    <information>
        <title>TestApp</title>
        <vendor>Oracle</vendor>
        <offline-allowed/>
    </information>
    <security>
        <all-permissions/>
    </security>
    <resources>
        <java version="1.5+"/>
        <jar href="start.jar" main="true"/>
    </resources>
    <application-desc main-class="com.Main"/>
</jnlp>

这是 index.jsp 文件:

<%!
    String getParameter(HttpServletRequest request, String param) {
        String result = request.getParameter(param);
        return result.replace("&", "&amp;").replace("\"", "&quot;").replace("<", "&lt;").replace(">", "&gt;").replace("'","$#039;");
    }
%>

<%=getParameter(request, "requestURL")%> 

我想把这个放在我的 jnlp 文件中,然后下载并执行:

<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0" codebase="https://localhost:8443/java-web-start/test/" href="start.jnlp">

    <information>
        <title>TestApp</title>
        <vendor>Oracle</vendor>
        <offline-allowed/>
    </information>
    <security>
        <all-permissions/>
    </security>
    <resources>
        <java version="1.5+"/>
        <jar href="start.jar" main="true"/>
    </resources>

    <application-desc main-class="com.Main">
        <argument><%= clientCount %></argument>
        <argument><%=getParameter(request, "requestURL")%></argument>
    </<application-desc>
</jnlp>

加载您的 jnlp 并附加您想要的参数,将 jnlp 文件视为一个简单的 XML 文件。

查看 this 示例,了解如何在 XML 上附加节点。