2010-05-18 78 views
0

我需要能夠添加一些javascript到所有ajax回發響應(PartialViewContext.isAjaxRequest == true),但我沒有成功與任何實現我嘗試。JSF 2 Scriptmanager風格功能

我曾嘗試推行

PhaseListener 

,並使用PartialResponseWriter.insert *添加EVAL塊加入我的腳本,以及試圖通過創建腳本元素添加腳本。 (在CDATA結果不能嵌套,或只是無效XML)

我試圖裝潢PartialViewContextFactory覆蓋

PartialViewContext.processPartial 

,並添加腳本包實例已處理後,它...

如何我應該去添加sripts到Ajax響應嗎?類似於.NET與Scriptmanager.registerClientScriptBlock最好的東西。

謝謝

回答

0

使用隨您的JSF2實現捆綁(所要求的規範)的JavaScript庫。這裏有API文檔:

http://java.sun.com/javaee/javaserverfaces/2.0/docs/js-api/index.html

jsf.ajax.addOnEvent解決您的「添加一些JavaScript來所有的Ajax回發回應」的問題:

此函數必須接受一個現有的JavaScript函數的引用。必須將JavaScript函數引用添加到回調列表中,從而可以通過多次調用jsf.ajax.addOnEvent註冊多個回調。

+0

感謝您的回覆,但該建議僅適用於所有回傳到服務器的回傳通過JSF客戶端庫代碼,並且您有權訪問客戶端代碼的情況。 我正在尋找服務器端的解決方案,其方法類似於使用ScriptManager的.NET平臺中可用的方法。 – CDSO1 2010-05-31 13:19:14