There's a bit of magic going on. Most of your parameters will be null except when you have a break point inside code during the rendering of the component. Further, some of your code will have to read a value from a parameter field for the field to get filled in.
Basically, the first time you have code that reads a field value, the binding object for that field will be invoked to provide the value, and that value will be stuff into the field. Of course, there's a lot of caching that can go on as well, especially for string literals and other invariant values. On 10/14/07, Michael Gerzabek <[EMAIL PROTECTED]> wrote: > > > Thanks for the advice. I also planned to follow the first path you > outlined. > > It just cost me some time to get familiar with the concept of the inner > live > of forms in T5 and I wanted to make a rapid prototype before I would step > into the definition of a service which is another new area of T5 to me. > > But beside this I cannot understand why the parameters from the page are > not > filled. I debugged my component and they are all null although the > ComponentResources _bindings have it. I have no idea why or where to look. > > What do I miss? > > Michael > > > Howard Lewis Ship wrote: > > > > I would avoid the use of static maps for tracking the radio groups. In > > addition, static will be shared between threads, so you have code that > > will > > likely break in production. > > > > In my book, static should always be stateless. > > > > You have two approaches that work better (and are more testable): > > - Define a service with scope "perthread" as a wrapper around this map > > - Define your own Environmental object. You can make a contribution to > > the > > PageRenderInitializer service to get your environmental object set up. > > > > Generally when you think "I wish PageRenderSupport had such and such a > > method" you can accomplish the same thing by defining your own > > environmental. > > > > > > On 10/14/07, Michael Gerzabek <[EMAIL PROTECTED]> wrote: > >> > >> Sorry, you're right: The component is basically a compilation of Radio > >> and RadioGroup. I use a static Map to secure the unique names of > >> [EMAIL PROTECTED]'s. In setupRender() I prepare the environment in > >> cleanupRender() I wrap it up. > >> > >> Here's the code ... > >> > >> public class Radio implements Field { > >> > >> @Parameter(required = false, defaultPrefix = "literal") > >> private String _id; > >> private String _clientId; > >> > >> @Parameter(defaultPrefix = "literal") > >> private String _label; > >> > >> @Parameter("false") > >> private boolean _disabled; > >> > >> @Parameter(required = false) > >> private ValueEncoder _encoder; > >> > >> @Parameter(required = true, principal = true, > >> defaultPrefix="literal") > >> private Object _value; > >> > >> @Parameter(required = true, defaultPrefix="literal") > >> private String _name; > >> > > > > -- > View this message in context: > http://www.nabble.com/-T5--RadioGroup-tf4617856.html#a13202352 > Sent from the Tapestry - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Howard M. Lewis Ship Partner and Senior Architect at Feature50 Creator Apache Tapestry and Apache HiveMind