Uploaded image for project: 'ZK'
  1. ZK
  2. ZK-2982

apply shadowElement problems with serialization

XMLWordPrintable

    • ZK 8.0.1

      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)
      
      

            jumperchen jumperchen
            cor3000 cor3000
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 1 hour
                1h