无法从Javascript调用服务器侦听器

时间:2015-02-10 06:16:22

标签: oracle-adf jdeveloper webcenter

Jdev版本:11.1.1.7.1 我有一个Java脚本方法,通过服务器监听器的calla bean方法,它看起来如下。

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方法,我可以看到所有变量都已赋值,但bean方法不会通过服务器监听器从JS调用。

任何人都能告诉我这里到底做错了什么。

1 个答案:

答案 0 :(得分:2)

JavaScript包含获取事件源的AdfCustomEvent.queue方法。但是你传递的是null。

必须传递事件源。下面是示例代码。

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

      AdfCustomEvent.queue(null, "deleteRows", param, true); // invalude
相关问题