-
Bug
-
Resolution: Fixed
-
Normal
-
None
-
Security Level: Jimmy
-
ZK 8.0.1
-
None
the following code causes an NPE when clicking the button after session serialization (e.g. server restart)
<zk xmlns:w="client"> <div apply="org.zkoss.bind.BindComposer" someVariable="@ref('peter')"> <apply param1="@load(someVariable)"> <label value="@init(param1)"/> </apply> <button onClick="@command('') label="click me""/> </div> </zk>
Exception Stack:
java.lang.NullPointerException at org.zkoss.zuti.zul.Apply.resolveVariable(Apply.java:158) at org.zkoss.zk.ui.AbstractComponent.getShadowVariable0(AbstractComponent.java:1050) at org.zkoss.zk.ui.AbstractComponent.getShadowVariable(AbstractComponent.java:1000) at org.zkoss.zk.xel.impl.ExecutionResolver.resolveVariable(ExecutionResolver.java:166) at org.zkoss.zk.xel.impl.ExecutionResolver.resolveVariable(ExecutionResolver.java:73) at org.zkoss.bind.impl.BindEvaluatorXImpl$1.resolveVariable(BindEvaluatorXImpl.java:126) at org.zkoss.xel.zel.XelELResolver.resolve(XelELResolver.java:96) at org.zkoss.bind.xel.zel.BindELResolver.getValue(BindELResolver.java:109) at org.zkoss.zel.impl.parser.AstIdentifier.getValue(AstIdentifier.java:83) at org.zkoss.zel.impl.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184) at org.zkoss.zkmax.bind.impl.ValueExpressionImplEx.getValue(ValueExpressionImplEx.java:64) at org.zkoss.xel.zel.ELXelExpression.evaluate(ELXelExpression.java:41) at org.zkoss.zkmax.bind.impl.BindEvaluatorXImplEx$LazyBindXelExpression.evaluate(BindEvaluatorXImplEx.java:124) at org.zkoss.bind.impl.BindEvaluatorXImpl.getValue(BindEvaluatorXImpl.java:47) at org.zkoss.bind.impl.LoadPropertyBindingImpl.load(LoadPropertyBindingImpl.java:58) at org.zkoss.bind.impl.PropertyBindingHandler.doLoadBinding(PropertyBindingHandler.java:133) at org.zkoss.bind.impl.PropertyBindingHandler.doLoad(PropertyBindingHandler.java:334) at org.zkoss.bind.impl.BinderImpl.loadComponentProperties0(BinderImpl.java:2310) at org.zkoss.bind.impl.BinderImpl.loadComponent0(BinderImpl.java:2279) at org.zkoss.bind.impl.BinderImpl.loadComponent0(BinderImpl.java:2289) at org.zkoss.bind.impl.BinderImpl.loadComponent(BinderImpl.java:2218) at org.zkoss.bind.impl.BinderImpl.didActivate(BinderImpl.java:2510) at org.zkoss.bind.impl.BinderImpl.access$2900(BinderImpl.java:117) at org.zkoss.bind.impl.BinderImpl$DeferredActivator.init(BinderImpl.java:2549) at org.zkoss.zk.ui.impl.DesktopImpl.invokeExecutionInits(DesktopImpl.java:1284) at org.zkoss.zk.ui.impl.UiEngineImpl.execUpdate(UiEngineImpl.java:1296) at org.zkoss.zk.au.http.DHtmlUpdateServlet.process(DHtmlUpdateServlet.java:611) at org.zkoss.zk.au.http.DHtmlUpdateServlet.doGet(DHtmlUpdateServlet.java:485) at org.zkoss.zk.au.http.DHtmlUpdateServlet.doPost(DHtmlUpdateServlet.java:494) 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$CachedChain.doFilter(ServletHandler.java:1221) at com.hazelcast.web.WebFilter.doFilter(WebFilter.java:353) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399) 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)