2012-07-14 387 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應用程序通信。