1

我有一个通过 Java Webstart 调用的应用程序。通过 Webstart 链接打开它没有任何问题。

我还有一个基于 Excel 的应用程序,它生成文件(通过 vba),然后可以通过 Webstart 启动的程序打开这些文件。

我想做的是有一个按钮来调用 Webstart 应用程序,然后打开一个新生成的文件。文件名(和内容)是时间敏感的,所以我不能一遍又一遍地使用相同的文件名。

我几乎想出了如何使用 vba 通过 Webstart 调用应用程序,但问题是 Webstart 应用程序能够打开一个文件,它需要作为 jnlp 描述符中的参数传入

<application-desc main-class="com.foo.WebstartApp">
    <argument>-file</argument>
    <argument>C:\files\file_20100909_164834.csv</argument>
</application-desc>

当文件名总是不同时,如何将文件名传递到 JNLP 文件中?

我应该每次都考虑动态生成一个新的 jnlp 文件,还是有办法在调用 JNLP 时参数化 jnlp 文件并传递文件名?

4

2 回答 2

1

动态生成的 JNLP 文件可能会让您面临注入攻击,就像动态 SQL 一样。此外,您似乎希望用户信任 WebStart 应用程序,该应用程序信任不可信的 JNLP 文件。

假设您每个桌面有一个应用程序SingleInstanceService实例PersistenceService

于 2010-09-09T18:38:30.697 回答
0

我找到了适合我需要的解决方案。自定义 servlet 用于修改 URL 字符串中的参数。

http://forums.sun.com/thread.jspa?threadID=714893

于 2010-09-17T13:38:10.277 回答