Sorry, should've been more specific -- the URLs that you POST and GET to
from within the javascript will usually have hardcoded URLs. Perhaps it is
broken than I am using event methods on embedded components to act as the
server-side AJAX handler, and maybe each ajax handler should be its own
page.

Thanks for the tip on printing parameter value vs. debugger, really good to
know. I thought I was going crazy!!!

Finally, I'm still baffed by the event method on page. If you have a simple
page, Foo.java, with just this:

    void onActionFromHello()
    {
        log.debug("onActionFromHello");
    }

Shouldn't you be able to execute that method by going to
http://example.com/foo:hello ? Except what I get is "Request event 'hello'
(on component foo) was not handled; you must provide a matching event
handler method in the component or in one of its containers."

I am really scratching my head because this jumpstart
page<http://jumpstart.doublenegative.com.au:8080/jumpstart/examples/navigation/eventlinks>has
a perfectly working example, and I feel like I've copied it perfectly.


Thanks,
Jason


On Thu, Apr 2, 2009 at 5:21 PM, Thiago H. de Paula Figueiredo <
thiag...@gmail.com> wrote:

> Em Thu, 02 Apr 2009 21:03:54 -0300, Jason Tan <jtan...@gmail.com>
> escreveu:
>
>
>  Unfortunately, in AJAX scenarios, the URL has to be hard-coded (though I
>> suppose you could write use an EventLink to render the URL as a global
>> variable inline in the TML, but that seems nasty).
>>
>
> Not quite. You can use methods from ComponentResources and some Tapestry
> services to generate links for you. No need to hardcode URLs.
>
> This example is adapted from EventLink:
>
> @Inject
> private ComponentResources resources;
>
> @Override
> protected Link createMethodLink(Object[] contextArray) {
>    return resources.createEventLink("yourEventName", contextArray);
> }
>
>
>  My original question though, is whether event methods on *pages* are
>> acceptable,
>>
>
> Yes, and we use it all the time. And the difference between pages and
> components in Tapestry 5 is very small: pages have URLs, components have
> parameters, some different lifecycle events. Internally, a page is a
> component.
>
>  Also, I think my first and most baffling question wasn't answered, quoted
>> again for reference. More specifcally, are component parameters expected
>> to be bound by the time a an embedded component's setupRender() is called,
>> or are they only bound when beginRender() is called? My debugging
>> investigation indicated the latter, even though the documentation indicates
>> the former.
>>
>
> Try printing the parameter value instead of using the debugger. Tapestry
> modifies your class on-the-fly and fields with Tapestry annotations are not
> normal fields.
>
> --
> Thiago H. de Paula Figueiredo
> Independent Java consultant, developer, and instructor
> http://www.arsmachina.com.br/thiago
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>

Reply via email to