我已经有一段时间寻找这个答案,从来没有得到具体的解决方案 . 所以在这里我最终解决了它 . 我将在下面提出解决方案 .
当前情况:有一个简单的java应用程序从带有参数的浏览器启动 . 现有的路由是browser - > index.html - >调用我的jnlp文件 - >调用我的java类的main方法 .
需要的情况:现在用户会发送参数说,来自浏览器的用户名一直发送到java类的main方法 .
解:
不要浪费时间尝试仅更改jnlp文件 .
更改index.html,如下所示:
将函数getUrlParameters()(google it)添加到index.html的javascript部分
使用调用usernameParam = getUrlParameters(“username”,“”,true)获取用户名的值
形成这样的URL = 'nameOfYourJSPFile.jsp?username=' usernameParam
创建一个新的jsp文件(这是必须的),如:
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
// Getting the URL parameters from the request
final String USERNAME_PARAM = "username";
String paramUsername = request.getParameter(USERNAME_PARAM);
%>
">
Your resources...
一旦形成此URL,您将发送到:IFrameDoc.location.replace(URL);在同一index.html
您将在main方法的String [] args中获取传递的用户名值 . 所以现在你可以检查param值是否存在,如果存在,用jsp文件形成URL或者直接继续使用旧的jnlp文件 .