在我們當前的原型中,大部分標準的HTML控件被一個applet取代,最重要的是表單提交由applet觸發。JSF/Applet集成
有沒有一種方法來調用服務器端幾乎相同的方式執行相應的操作與
<h:commandButton action="#{ctrl.doit}"/>?
本文Applet and JSF Integration - example有同樣的問題,但沒有一個合適的答案。從服務器的角度來看,applet是一種替代表單的形式。它填充專用(隱藏)字段並提交 - 不直接與服務器通信。
編輯
到目前爲止,據我所知,這些集成的可能性:
- 添加(隱藏)UICommand並通過JavaScript 觸發它
- 實現自己的UICommand。據我所知,我會定義一個隱藏的參數來標記applet作爲表單提交控件,在請求處理週期中,UICommand實現將找出並觸發該操作。也許應該實現一個虛擬控件(與f:viewParam相比)作爲MethodExpressions的端點。
- 將偵聽器附加到(隨機)控件或更一般的事件偵聽器,並在此處執行您的操作。在這種情況下,導航是如何完成的?
分享你的代碼將會很棒。顯然,網絡上沒有很多Applet-JSF資源。問候, –
這個applet集成歸結爲一個簡單的JavaScript調用。獲取JSObject.getWindow()並讓它「評估」將單擊隱藏的「確定」按鈕的JavaScript。 – mtraut