我正在使用定義自己的自定義事件的第三方JSF 2.0組件(Primefaces 3.0 FileUpload)。在服務器端,處理程序的簽名如下所示:如何在處理JSF 2.0事件時獲取上下文Pojo
public void handleFileUpload(FileUploadEvent event)
問題是,我的形式是動態生成的,可能有幾十個獨立的FileUpload控件它,我需要知道哪些文件上傳控件生成事件。
實際上,我不需要知道哪一個,我只需要ui中的「var」:repeat就會導致生成特定的FileUpload控件。使用普通的控制器,我可以很容易地只傳入我需要的變量,但這個第三方組件恰好使用事件處理機制而不是控制器,並且對如何使用JSF 2.0事件並不知情,我不知道只有在事件發生後才能進入POJO。
我看到該事件上有一個getComponent()方法,它告訴我UIComponent,但在周圍戳了一下後,我沒有看到任何簡單的方法來獲取上下文變量,甚至沒有辦法生成我自己的EL表達式來評估以獲取上下文變量。
所以這個問題歸結爲......只給出一個事件,我如何才能得到被點擊的特定組件的範圍內的上下文變量?