java - 动态 JNLP 生成和 Excel 调用

标签 java excel vba jnlp java-web-start

我有一个通过 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 时传递文件名?

最佳答案

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

假设每个桌面都有一个应用程序实例 (SingleInstanceService),有关要使用哪些文件的信息(不一定是可信的)可以使用 PersistenceService(“松饼”)通过小程序传递,或者显然,如果浏览器是 IE,则可以通过 cookie 传递。

关于java - 动态 JNLP 生成和 Excel 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3678543/

相关文章:

java - 在 2D 整数数组 Java 中查找最短路径

java - Realm 中的线程 - 干净的代码架构

java - 使用 JCo 打印 BAPI 列表

excel - OLEFormat(未知成员): Invalid Request in PowerPoint

javascript - 如何让Excel VBA自动点击IE中的javascript a href链接

ms-access - Microsoft Access 在启动时显示 "Missing APSBrowsePanes.dll"错误。 (虚拟机)

java - FileReader 是否接受 Eclipse 插件项目中的相对路径?

Excel 2013 VBA 错误

vba - 无法发送多个 Outlook 邮件

sql-server - 如何使用 ssis 2008 遍历 excel 文件并获取工作表名称