Uploaded image for project: 'Tapestry 5'
  1. Tapestry 5
  2. TAP5-1

Clicking on a link that updates a zone before the page has fully loaded will result in a full page update and, often, a server-side exception

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 5.0.15
    • 5.0.16
    • None
    • None

    Description

      I have a page with 2 ActionLinks - the first link updates the whole page; the second link specifies a zone.

      If you click on the two links in quick succession then an exception is thrown. Alternatively, just Reload the page and click on the second link before the page has finished reloading and you'll get the same exception.

      Here's the page, with source: http://202.177.217.122:8080/jumpstart/examples/javascript/ajax

      Here's the exception:

      A component event handler method returned the value org.apache.tapestry5.internal.structure.BlockImpl@80937b. Return type org.apache.tapestry5.internal.structure.BlockImpl can not be handled. Configured return types are java.lang.Class, java.lang.String, java.net.URL, org.apache.tapestry5.Link, org.apache.tapestry5.StreamResponse, org.apache.tapestry5.runtime.Component.

      I understand that Tapestry doesn't hook up zones etc. until the DOM is loaded. It's also been suggested to "check Request#isXhr in your event handler to see if it's an AJAX request - if it's not you can't return a Block, so you'll have to figure out another way to do what needs to be done."

      However, since this symptom will afflict every AJAX ActionLink out-of-the-box, it would be nice if the framework handled it so we don't have to code around it.

      Geoff

      Attachments

        Activity

          People

            hlship Howard Lewis Ship
            geoffcallender Geoff Callender
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: