-
Bug
-
Resolution: Fixed
-
Normal
-
6.0.0
-
None
-
None
Failed to invoke org.zkoss.bind.tracker.impl.BindUiLifeCycle@2392d604
java.lang.IllegalStateException: UI can't be modified in the rendering phase
at org.zkoss.zk.ui.impl.UiVisualizer.getAttrRespMap(UiVisualizer.java:299)
at org.zkoss.zk.ui.impl.UiVisualizer.addSmartUpdate0(UiVisualizer.java:254)
at org.zkoss.zk.ui.impl.UiVisualizer.addSmartUpdate(UiVisualizer.java:238)
at org.zkoss.zk.ui.impl.UiEngineImpl.addSmartUpdate(UiEngineImpl.java:280)
at org.zkoss.zk.ui.AbstractComponent.smartUpdate(AbstractComponent.java:1542)
at org.zkoss.zk.ui.AbstractComponent.smartUpdate(AbstractComponent.java:1517)
at org.zkoss.zk.ui.AbstractComponent.removeEventListener(AbstractComponent.java:2114)
at org.zkoss.bind.impl.BinderImpl.removeEventCommandListenerIfExists(BinderImpl.java:1185)
at org.zkoss.bind.impl.BinderImpl.removeBindings(BinderImpl.java:1806)
at org.zkoss.bind.impl.BinderImpl.removeBindings(BinderImpl.java:1751)
at org.zkoss.bind.tracker.impl.BindUiLifeCycle.removeBindings0(BindUiLifeCycle.java:117)
at org.zkoss.bind.tracker.impl.BindUiLifeCycle.afterPageDetached(BindUiLifeCycle.java:95)
at org.zkoss.zk.ui.util.Configuration.afterPageDetached(Configuration.java:1123)
at org.zkoss.zk.ui.impl.DesktopImpl.removePage(DesktopImpl.java:792)
at org.zkoss.zk.ui.impl.UiVisualizer.getResponses(UiVisualizer.java:612)
at org.zkoss.zk.ui.impl.UiEngineImpl.getResponses(UiEngineImpl.java:1405)
at org.zkoss.zk.ui.impl.UiEngineImpl.execUpdate(UiEngineImpl.java:1217)
at org.zkoss.zk.au.http.DHtmlUpdateServlet.process(DHtmlUpdateServlet.java:558)
at org.zkoss.zk.au.http.DHtmlUpdateServlet.doGet(DHtmlUpdateServlet.java:456)
at org.zkoss.zk.au.http.DHtmlUpdateServlet.doPost(DHtmlUpdateServlet.java:464)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
<zk> <window> <label multiline="true"> 1.click the reload button more than 3 time, the time stamp should change after each click </label> <window apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('org.zkoss.zktest.bind.issue.B00993IncludeReload')" title="a title"> <include src="@load(vm.url) @converter(vm.converter)"/> <button label="reload" onClick="@command('reload')"/> </window> </window> </zk>
<zk> <window> <zscript> java.util.Date date = new java.util.Date(); </zscript> Time : <label value="${date}"/> </window> </zk>
package org.zkoss.zktest.bind.issue; import org.zkoss.bind.BindContext; import org.zkoss.bind.Converter; import org.zkoss.bind.annotation.NotifyChange; import org.zkoss.zk.ui.Component; public class B00993IncludeReload { String url = "B00993IncludeReload2.zul"; public String getUrl(){ return url; } @org.zkoss.bind.annotation.Command @NotifyChange("url") public void reload(){ } public Converter getConverter(){ return new Converter() { @Override public Object coerceToUi(Object val, Component component, BindContext ctx) { if(val instanceof String){ return val +"?tms=" + System.currentTimeMillis(); } return val; } @Override public Object coerceToBean(Object val, Component component, BindContext ctx) { return null; } }; } }
- relates to
-
ZK-1464 Console has Exception log when change src of include if bind to a textbox
- Closed