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调用。
任何人都能告诉我这里到底做错了什么。
答案 0 :(得分:2)
JavaScript包含获取事件源的AdfCustomEvent.queue方法。但是你传递的是null。
必须传递事件源。下面是示例代码。
AdfCustomEvent.queue(event.getSource(), "deleteRows", param, true);
AdfCustomEvent.queue(null, "deleteRows", param, true); // invalude