이 상쾌 페이지 후 EventQueue.subscribe
방법에서 모델을 설정할 수 없습니다 상쾌한 페이지 후 EventQueue.subscribe 방법에서 목록 상자에 대한 모델을 설정할 수 없습니다.는
두 개의 페이지가 있습니다. 내 주소는 .zul
이고, 주소는 .zul
입니다. 각 줄마다 별도의 컨트롤러가 있습니다. 포함 된 페이지에서 listbox
을 클릭하고 고객 개체를 전달하면 포함 된 페이지의 컨트롤러에서 이벤트를 게시합니다.
eq = EventQueues.lookup("CLIENTS", EventQueues.DESKTOP, true);
eq.publish(new Event("onClick", null, customer));
내 메인 .zul
페이지의 컨트롤러에서 이벤트를 수신하고 고객 개체를 검색합니다. 그런 다음 해당 ID를 기반으로 메인 listbox
에 해당 데이터를 제공합니다.
eq = EventQueues.lookup("CLIENTS", EventQueues.DESKTOP, true);
eq.subscribe(new EventListener() {
public void onEvent(Event event) throws Exception {
if (!Executions.getCurrent().getDesktop().isAlive()) {
eq.unsubscribe(this);
return;
}
Customer customer = (Customer) event.getData();
if (customer != null){
id = customer.getId();// Need to identify what data to retrieve from database
crm_div.setVisible(false); // Listbox from included page
dataListbox.setVisible(true); // Listbox on main page
dataListbox.setModel(new DataListboxModel());// Go to database and extract relevant data
}
else{
alert("No client");
}
}
});
처음으로 정상적으로 작동합니다. 나는 이벤트를 받고, 객체를 얻고 successfuly 모델에 listbox를 제공한다. 그러나, 다른 페이지로 돌아가서 반환하면 NullPointerException이 발생합니다. 로그 파일에서 세션이 동일하고 페이지가 파괴되었지만 데스크탑이 살아 있음을 알았습니다. ZK 5.0.10을 사용하고 있습니다.
org.zkoss에서 org.zkoss.zk.ui.AbstractComponent.smartUpdate에서
org.zkoss.zk.ui.AbstractComponent.getAttachedUiEngine (AbstractComponent.java:387) (AbstractComponent.java:1487)에서 org.zkoss.zul.Listbox.resetDataLoader에서 org.zkoss.zk.ui.AbstractComponent.smartUpdate (AbstractComponent.java:1495)에서 .zk.ui.AbstractComponent.smartUpdate (AbstractComponent.java:1462) (Listbox.java:2982) com.is.sdbooks.controller.ComposerTest.onDoubleClick의 $에서 com.is.sdbooks.controller.ComposerTest.refreshModel (ComposerTest.java:169에서 org.zkoss.zul.Listbox.setModel (Listbox.java:2377))에서 sun.reflect.DelegatingMethodAcces에서 sun.reflect.NativeMethodAccessorImpl.invoke에서 sun.reflect.NativeMethodAccessorImpl.invoke0 (기본 방법) (알 수없는 소스)에서 데이터 그리드 (ComposerTest.java:180) org.zkoss.zk.ui.event.GenericEventListener.onEvent (GenericEventListener.java:81) at org.zkoss.zk.ui의 java.lang.reflect.Method.invoke (알 수없는 소스)의 sorImpl.invoke (알 수없는 소스) .impl.EventProcessor.process0 (EventProcessor.java:192) at org.zkoss.zk.ui.impl.EventProcessor.process (EventProcessor.java:138) at org.zkoss.zk.ui.event.Events.sendEvent (이벤트 .java : 306) at org.zkoss.zk.ui.event.Events.sendEvent (Events.java:329) at org.zkoss.zk.ui.AbstractComponent $ ForwardListener.onEvent (AbstractComponent.java:3052) at org. zkoss.zk.ui.impl.EventProcessor.process0 (EventProcessor.java:192) at org.zkoss.zk.ui.impl.EventProcessor.process (EventProcessor.java:138) at org.zkoss.zk.ui.impl. org.zkoss.zk.ui.impl.UiEngineImpl.execUpdate에서 org.zkoss.zk.ui.impl.UiEngineImpl.process (UiEngineImpl.java:1410) (UiEngineImpl.java에서 UiEngineImpl.processEvent (UiEngineImpl.java:1626) : 1134) at org.zkoss.zk.au.http.DHtmlUpdateServlet.process (DHtmlUpdateServlet.java:562) at org.zkoss.zk.au.http.DHtmlUpdateServle javax의에서 javax.servlet.http.HttpServlet.service (HttpServlet.java:637)에서 t.doGet org.zkoss.zk.au.http.DHtmlUpdateServlet.doPost (DHtmlUpdateServlet.java:465)에서 (DHtmlUpdateServlet.java:457) org.apache.catalina.core.ApplicationFilterChain.doFilter에서 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:290)에서 .servlet.http.HttpServlet.service (HttpServlet.java:717) (ApplicationFilterChain.java : org.apache.catalina.core에서 org.apache.catalina.core.StandardContextValve.invoke에서 org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:233) (StandardContextValve.java:191)의 206). org.apache.catalina.core.StandardEngineValve.invoke에서 StandardHostValve.invoke org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:102)에서 (StandardHostValve.java:127) (StandardEngineValve.java:109) 조직에서 .apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process (Http11Proc essor.java:852) org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process (Http11Protocol.java:588) org.apache.tomcat.util.net.JIoEndpoint $ Worker.run에서에서 (JIoEndpoint.java:489) java.lang.Thread.run (Unknown Source)