2012-07-14 363 views
4

目前我有一个应用程序使用Java web start通过JNLP运行。用户可以击中特定的URL并启动该应用程序。通过网络将参数/参数传递给jnlp。有什么选择可用?

我可以通过使用j2seproperty标签(如this)将属性添加到build.xml(ant web start)内部的JNLP文件本身。

<jw:j2se>

<j2seproperty name="testProperty" value="1"/>

</jw:j2se>

而且这些属性可以在任何地方在代码中通过以下方式访问: System.getProperty("testProperty");

的问题是,我希望能够通过设置这些属性html,如下所示。

的 'http://本地主机:8080/somelink testProperty = 2?'

什么是我实现这个选项?我已经做了一些研究,到目前为止,似乎唯一的解决方案是以某种方式通过某种类型的servlet动态创建JNLP启动器。

这是正确的,如果没有,这里还有其他的选择吗?如果是这样,我可以接受所有的可能性...

回答

0

通过JSP页面创建JNLP并让它填充请求参数中的属性值。请参阅this question,这是一个稍微不起作用的示例,但您应该可以很轻松地修复它,我也可以。

+0

是否有可能将此绑定到使用ant web start的现有设置中?我有许多任务等,必须在build.xml中完成,到目前为止,构建jnlp是其中一项任务。 – csciguy 2012-07-15 15:08:15

+0

请注意,JSP通过编译成为一次servlet。为什么不首先使用servlet? – 2012-07-15 23:40:24

+0

EJP,您可以发布您的解决方案吗?我仍然有这个问题。 – csciguy 2012-08-21 18:47:50

0

另一个更灵活的选择是使用NanoHTTP嵌入HTTP服务器并通过Javascript或任何您喜欢的方式与您的JNLP应用程序通信。