The Zone is just a component: MyPage.java:
@InjectComponent @Property private Zone myZone; MyPage.tml: <t:yourcomponent zoneid="myZone.clientId" .../> This passes the client element id of the Zone to your component. Alternately, you could pass the Zone itself (so that an ActionLink inside YourComponent could return zone.getBody() to re-render the Zone). On Tue, Aug 10, 2010 at 9:26 AM, Christian Koller <christian.kol...@net-m.ch> wrote: > Hi > > I'm not sure how I can pass an embedded zone in the template as a parameter. > I tried for several hours but wasn't able to do that. > I can inject the zone to the page but then, how can I handle the zone down to > the sub component as parameter? > > I know about the publish params and inherit params, but it does not work with > a zone as parameter or maybe I do something wrong. > > I'm considering to put the zone to the session as a sso and then grab for it > in the needed sub component. What do you think about this solution? > > > On 08.08.2010, at 18:33, Josh Canfield wrote: > >> It's generally not considered good design for a component to have knowledge >> of the design of it's container. This would be a universal design principle, >> not limited to tapestry. >> >> So if all you want to do is update a zone then couldn't you just pass the >> zone or zone id as a parameter to your component? >> >> -- Josh >> >> On Aug 8, 2010, at 7:49 AM, Christian Koller <christian.kol...@net-m.ch> >> wrote: >> >>> In an inner component I handle an ajax request from an action link and want >>> to update a zone in a outer component. >>> >>> As a work around I use the ComponentSource like: >>> >>> Object onActionFromMark(long wishedStartTime) { >>> this.wishedStartTime = wishedStartTime; >>> CalendarComponent cal = (CalendarComponent) >>> componentSource.getComponent("AppointmentPage:calendarCollection.cal0"); >>> return cal; >>> >>> Unfortunately I have to give the full id here with page name and so on. >>> Is there no way to get an outer component to update a zone there? >>> >>> >>> On 08.08.2010, at 16:37, Igor Drobiazko wrote: >>> >>>> Nope, this is not possible. What are you trying to do? >>>> >>>> On Sun, Aug 8, 2010 at 4:28 PM, Christian Koller >>>> <christian.kol...@net-m.ch>wrote: >>>> >>>>> Hi >>>>> >>>>> With the annotation @Component I can inject components which are defined >>>>> in >>>>> the component's template, for example: >>>>> @Component(id="myComponent") >>>>> private ActionLink link; >>>>> >>>>> Is there a way to inject a component from the parent component? Something >>>>> like: >>>>> @Component(id="../myComponent") >>>>> private ActionLink mark; >>>>> >>>>> Thank you >>>>> chris >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> Best regards, >>>> >>>> Igor Drobiazko >>>> http://tapestry5.de >>> >>> Christian Koller >>> Sofwareentwickler >>> >>> net mobile Schweiz AG >>> Seestrasse 45 >>> CH ñ 8702 Zollikon >>> >>> Tel: + 41 (0) 44 918 99 99 >>> Fax: + 41 (0) 44 918 99 98 >>> Direkt: + 41 (0) 44 918 99 72 >>> >>> Mail: christian.kol...@net-m.ch >>> Web: www.net-m.ch >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>> For additional commands, e-mail: users-h...@tapestry.apache.org >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org >> > > Christian Koller > Sofwareentwickler > > net mobile Schweiz AG > Seestrasse 45 > CH ñ 8702 Zollikon > > Tel: + 41 (0) 44 918 99 99 > Fax: + 41 (0) 44 918 99 98 > Direkt: + 41 (0) 44 918 99 72 > > Mail: christian.kol...@net-m.ch > Web: www.net-m.ch > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast! (971) 678-5210 http://howardlewisship.com --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org