2016-02-15 33 views
0

我正在创建一个jnlp文件,但我需要接收一些URL参数。如何构建动态JNLP文件?

我有一个从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> 
+0

为什么不加载'jnlp'并追加所需''参数',将'jnlp'文件当作一个简单的XML文件处理?看看[这](http://stackoverflow.com/questions/6445828/how-do-i-append-a-node-to-an-existing-xml-file-in-java)例如如何附加节点在XML上。 – aribeiro

+0

谢谢,现在它工作,我生成文件作为简单的XML。 – skynetAI

+0

如果你可以,我会发表我的评论作为答案。 – aribeiro

回答

0

装入jnlp并添加你想要的参数,治疗jnlp文件,这是一个简单的XML文件。

看看this关于如何在XML上追加节点的例子。