Josh, Thanks for the response. I do in fact have the onAddXXTerm implemented, and to make sure it works, I have another part of the TML with manually created eventlinks so I can test it.
I figured out that outputraw wont work with eventlinks because Tapestry itself transforms and re-renders them. Outputraw bypasses this. My second approach that I posted: <table> <tr><td>#business</td><td><a href=" /discoveryassistant/refine:addyesterm/#business<http://localhost:8082/discoveryassistant/refine:addyesterm/#business> ">yes</a></td><td><a href="/discoveryassistant/refine:addnoterm/#business<http://localhost:8082/discoveryassistant/refine:addnoterm/#business> ">no</a></td></tr> </table> ...actually kind of works. What is confusing tapestry is the hashtag. If I remove it, Tapestry works as expected. If I put it back in, then I get the exception saying I need to add a onAddXXTerm method. I also tried using the html code for the hashtag, however it still fails. For now, I'll just strip the hashtag from the rendering portion, and re-add it in the event handler. On Tue, Jul 31, 2012 at 6:07 PM, Josh Canfield <joshcanfi...@gmail.com>wrote: > You need to implement a handler in your component "Refine" for the event. > > public void onAddNoTerm() { > } > > for instance. > > > On Tue, Jul 31, 2012 at 6:04 PM, George Ludwig <georgelud...@gmail.com > >wrote: > > > Actually, this doesn't work either. I get this exception: > > > > org.apache.tapestry5.ioc.internal.util.TapestryException: Request event > > 'addnoterm' (on component discoveryassistant/Refine) was not handled; you > > must provide a matching event handler method in the component or in one > of > > its containers. > > > > at > > > > > org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl.handle( > > ComponentEventRequestHandlerImpl.java:85) > > > > at > > > > > org.apache.tapestry5.internal.services.ImmediateActionRenderResponseFilter.handle( > > ImmediateActionRenderResponseFilter.java:42) > > > > at $ComponentEventRequestHandler_12a61376ef8749b9.handle(Unknown Source) > > > > at org.apache.tapestry5.internal.services.AjaxFilter.handle( > > AjaxFilter.java:42) > > > > at $ComponentEventRequestHandler_12a61376ef8749b9.handle(Unknown Source) > > > > at org.apache.tapestry5.services.TapestryModule$40.handle( > > TapestryModule.java:2458)... > > > > On Tue, Jul 31, 2012 at 5:59 PM, George Ludwig <georgelud...@gmail.com > > >wrote: > > > > > Nevermind I guess... I discovered I could just render like this: > > > > > > <table> > > > <tr><td>#business</td><td><a href=" > > > /discoveryassistant/refine:addyesterm/#business< > > http://localhost:8082/discoveryassistant/refine:addyesterm/#business> > > > ">yes</a></td><td><a > > href="/discoveryassistant/refine:addnoterm/#business< > > http://localhost:8082/discoveryassistant/refine:addnoterm/#business> > > > ">no</a></td></tr> > > > </table> > > > > > > On Tue, Jul 31, 2012 at 5:43 PM, George Ludwig <georgelud...@gmail.com > > >wrote: > > > > > >> I'm trying to use outputraw to render eventlinks, however when I do > this > > >> tapestry does not appear to bind the event on the client to the event > on > > >> the server. Is there a way to make this work? > > >> > > >> I use outputraw because it would be unwieldy to use Tapestry's <t:if> > > >> construct to control the rendering. Here's a simplified example with a > > >> single row: > > >> > > >> <table> > > >> <tr><td>#business</td><td><a t:type="eventlink" t:event="addYesTerm" > > >> t:context="literal:#business" href="#">yes</a></td><td><a > > >> t:type="eventlink" t:event="addNoTerm" t:context="literal:#business" > > >> href="#">no</a></td></tr> > > >> </table> > > >> > > >> If I click on the "yes" eventlink, the table should re-render like > this: > > >> > > >> <table> > > >> <tr><td>#business</td><td>yes!</td><td><a t:type="eventlink" > > >> t:event="addNoTerm" t:context="literal:#business" > > href="#">no</a></td></tr> > > >> </table> > > >> > > >> If I then clicked on the "no" eventlink, the table should re-render > like > > >> this: > > >> > > >> <table> > > >> <tr><td>#business</td><td><a t:type="eventlink" t:event="addYesTerm" > > >> t:context="literal:#business" href="#">yes</a></td><td>no!</td></tr> > > >> </table> > > >> > > >> As I said, I think I can make this work with the <t:if> construct, but > > it > > >> would take a lot of extra coding! > > >> > > > > > > > > >