2015-02-10 48 views
0

Jdev版本:11.1.1.7.1 我有一個Java腳本方法,通過服務器監聽程序調用bean方法,如下所示。無法從Java腳本調用服務器偵聽器

JS方法:

onSelection : function (itemId, metadata) { 
    //  alert (itemId); 
    AdfCustomEvent.queue(null, "ServerEvent", 
    { 
     itemId : itemId 
    },false); 
    return true; 
    } 

ServerListener:

<af:serverListener type="ServerEvent" 
       method="#{pageFlowScope.contentBean.handleEvent}"/> 

Bean方法:

public void handleEvent(ClientEvent clientEvent) { 
    logger.info("Start of method()"); 
    String itemId = (String)clientEvent.getParameters().get("itemId"); 

}

控制轉移到JS方法,我可以看到所有變量h ave被分配了值,但bean方法不會從JS通過服務器監聽器調用。

任何人都可以告訴我究竟我在這裏做錯了什麼。

回答

2

JavaScript包含採用事件源的AdfCustomEvent.queue方法。但是你傳遞null。

它必須傳遞事件源。以下是示例代碼。

 AdfCustomEvent.queue(event.getSource(), "deleteRows", param, true); 

     AdfCustomEvent.queue(null, "deleteRows", param, true); // invalude