You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Noam Solomon <ns...@shopping.com> on 2005/11/09 19:02:59 UTC

suggestion for an faq item

I just spent a couple hours tracking down a problem which I guess was
kind of dumb on my part, but resulted from what might be a common
misunderstanding of the way component bindings work.  I wonder if maybe
it wouldn't be appropriate to have it listed as a gotcha somewhere in
the documentation (or if it already is, I guess I'd like to read what
else is on the list!)...

 

The misunderstanding is that when you bind a component parameter, you
are doing something similar to passing an argument to a function - that
something is being transferred at the moment control passes from the
containing page to the contained component, when in fact the only way
stuff moves from the caller into the component is by the component
directly accessing the parameter by calling the parameter's accessor.
Not understanding this, it was especially surprising to me that I could
even set the value of the binding to an illegal OGNL expression, and
that there would be no exception if the component never accessed it.

 

I guess what's most surprising to me in retrospect is that it was
possible to be programming in Tapestry for a month or so, creating
custom components, etc., with this misunderstanding.  I only discovered
it when I upgraded to Tapestry 4.0 and had to change the bindings around
a bit.

 

Noam Solomon (shopping.com)