The error you get is probably due to the fact that it is not an ajax request.
you can only return blocks from event methods when making ajax requests.

you have to make the request with Ajax.request(...) or by using
tapestry default ajax mechanism. (<t:form t:zone="....">...)

hope it helps!

2008/3/19, Martin Kersten <[EMAIL PROTECTED]>:
> I see. When I read the AJAX documentation correctly your code snippet should 
> be on the save side.
>  Sorry but I can't see anything wrong.
>
>
>  Cheers,
>
>  Martin (Kersten)
>
>
>  ________________________________
>
>  Von: José Paumard [mailto:[EMAIL PROTECTED]
>
> Gesendet: Mittwoch, 19. März 2008 17:33
>  An: Tapestry users
>  Betreff: Re: AW: Component event handlers
>
>
>
>  Code snippets are very basic :
>
>  In the tml :
>
>  <t:eventLink t:event="someEvent" t:zone="someZone">click me</t:eventLink>
>
>  <t:block t:id="someBlock">
>     <t:some.component/>
>  </t:block>
>
>
>  In the class :
>
>     @Inject
>     private Block someBlock ;
>
>     @OnEvent(value="someEvent")
>     Block clickMe() {
>         return someBlock ;
>     }
>
>  What I would expect is to see the content of the block in the div 
> "someZone", but I have an exception instead.
>
>  José
>
>  Martin Kersten a écrit :
>
>         Sounds like onActivate? What do you try to do? Can you give us the 
> exact case (event type). Code Snippet?
>
>         ________________________________
>
>         Von: José Paumard [mailto:[EMAIL PROTECTED]
>         Gesendet: Mittwoch, 19. März 2008 17:18
>         An: Tapestry users
>         Betreff: Re: Component event handlers
>
>
>         Hello Chris,
>
>         Thank you for your fast answer.
>
>         It is Block (not BlockImpl, this class is in the internals of T5, so 
> using it is not recommended). I switched to Object, but it didnt change 
> anything. Here is the exact error message :
>
>         A component event handler method returned the value [EMAIL PROTECTED] 
> Return type org.apache.tapestry.internal.structure.BlockImpl can not be 
> handled. Configured return types are java.lang.Class, java.lang.String, 
> java.net.URL, org.apache.tapestry.Link, org.apache.tapestry.StreamResponse, 
> org.apache.tapestry.runtime.Component.
>
>         Chris Lewis a écrit :
>
>                 What is the declared return type of your method? It should be 
> Object,
>                 and not BlockImpl.
>
>                 José Paumard wrote:
>
>
>                         Hi all,
>
>                         Everytime I try to return an injected block in an 
> event handler
>                         method, I get an error message, telling me that 
> BlockImpl is not a
>                         valid returned value. From the nightly generated 
> docs, this is
>                         supposed to work. Has anyone experienced this too ?
>
>                         Thank you,
>
>                         José
>                         
> ---------------------------------------------------------------------
>                         To unsubscribe, e-mail: [EMAIL PROTECTED] For
>                         additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
>
>
>         --------------------------------------------------------------------- 
> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: 
> [EMAIL PROTECTED]
>
>
>
>  --------------------------------------------------------------------- To 
> unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: 
> [EMAIL PROTECTED]
>


-- 
/ted

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to