2013-03-08 49 views
1

我有一個包含p:commandLink的p:dataTable。我需要在mouseover事件上使用參數進行ajax調用。我發現commandLink無法通過mouseover事件進行ajax調用。我們必須使用遠程命令來實現此功能。如何傳遞p:remoteCommand ajax調用的動態值?

我者優先這個解決方案爲

p:commandLink ajax events inside of a p:dataTable

它的工作不錯。由於它裏面的dataTable,在這裏我們會得到多個remoteCommand。如果我想爲每個Ajax調用命令鏈接使用單個remotecommand,我必須做的事情。

回答

4

在這種情況下,你應該調用JavaScript函數,通過p:remoteCommand與參數創建它表示你的數據(它可以爲你的模型bean類的東西例如主鍵,使用它可以識別對象):

onmouseover="rc([{ name: 'myData', value: #{data.code} }])" 

這會將名爲muData的附加參數傳遞給您的監聽器。您可以獲取參數與此:

FacesContext context = FacesContext.getCurrentInstance(); 
Map map = context.getExternalContext().getRequestParameterMap(); 
String code = map.get("myData").toString(); 

參見: