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

Command annotation fails when using MVVM with ZK JSP

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Invalid
    • Icon: Normal Normal
    • None
    • 6.0.0
    • Databind 2
    • ZK JSP 2.0-FL-2012-02-03 with ZK 6.0 6.0.0.FL.20120208

      mvvm.jsp

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <%@ taglib uri="http://www.zkoss.org/jsp/zul" prefix="zk" %>
      <HTML>
      <BODY>
      Hello, world The time is now <%= new java.util.Date() %>
      <zk:page zscriptLanguage="java">
      <zk:window apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('org.zkoss.mvvm.examples.hello.HelloViewModel')">
      <zk:label value="@load(vm.message)"> </zk:label>
      <zk:button label="Show" onClick="@command('showHello')"></zk:button>
      </zk:window>
      </zk:page>
      </BODY>
      </HTML>
      HelloViewModel.java
      public class HelloViewModel {

      private String message;

      public String getMessage()

      { return message; }

      @Command() @NotifyChange("message")
      public void showHello()

      { message = "Hello World!"; }

      }

      Expected: After clicking Show button label should be populated with "Hello World"

      Actual: After loading this page and clicking on Show button I get
      SEVERE: >>org.zkoss.zk.ui.UiException: Sourced file: inline evaluation of: ``@command('showHello');'' Token Parsing Error: Lexical error at line 1, column 2. Encountered: "c" (99), after : "@": <at unknown location>
      >> at bsh.Interpreter.eval(Unknown Source)
      >> at bsh.Interpreter.eval(Unknown Source)
      >> at org.zkoss.zk.scripting.bsh.BSHInterpreter.exec(BSHInterpreter.java:131)
      >> at org.zkoss.zk.scripting.util.GenericInterpreter.interpret(GenericInterpreter.java:328)
      >> at org.zkoss.zk.ui.impl.PageImpl.interpret(PageImpl.java:853)
      >> at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:2700)
      >> at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:2653)
      >> at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:136)
      >> at org.zkoss.zk.ui.impl.UiEngineImpl.processEvent(UiEngineImpl.java:1696)
      >> at org.zkoss.zk.ui.impl.UiEngineImpl.process(UiEngineImpl.java:1481)
      >> at org.zkoss.zk.ui.impl.UiEngineImpl.execUpdate(UiEngineImpl.java:1198)
      >> 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)

      Possible cause: Improper or not handling command annotation

            Unassigned Unassigned
            ashishd ashishd
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: