Hi Chris, even so you could help :) I want this kind of generic way of passing around information (component to component communication :)) so I'll look for the solutions Kristian and you outlined.
thanks! cheers, janos 2008/4/29 Chris Lewis <[EMAIL PROTECTED]>: > Janos, > > Without code or a description of your actual goal, I'm finding your > situation too hypothetical to really digest. The one thing I can point > out is what you said about wanting a component to set a property in the > page. If you want to do that, then you have to know the class of the > page and so injecting a page would make sense. Of course that means > tightly coupling a component to a page, which to me doesn't make sense. > If you simply need a generic way of passing data between pages and > components, consider using a service that provides an untyped list or > putting something in the environment as Kristian suggested. I'm sorry I > can't be more helpful but as I said I'm not clear on what you're really > trying to do. > > good luck > chris > > János Jarecsni wrote: > > Hi Chris, > > > > I thought of pages as "contexts" for the components embedded within > them. > > So, in one event handler of a component I would like to set some > property or > > another (in the page object), and the other components in the page, > which > > are also able to access this property may change their appearance (say, > the > > .TML would test the property). Maybe I'm on a wrong track, please let me > > know :) > > > > thx > > Cheers, > > janos > > > > 2008/4/29 Chris Lewis <[EMAIL PROTECTED]>: > > > > > >> Janos, > >> > >> I'm having a hard time understanding a case that a component should > know > >> in which page it is embedded, so my suggestion probably wasn't a good > >> one. Activation contexts aren't meant for components but for pages - > you > >> should be using component parameters to configure them, and if it's a > >> more sophisticated component, probably a service. > >> > >> chris > >> > >> János Jarecsni wrote: > >> > >>> and how a component can get to know the page in which it is included? > I > >>> mean, I can't @InjectPage, as the component will be included in many > >>> > >> kinds > >> > >>> of pages. > >>> > >>> @Kristian: thx for the many ways :) I'll try these, hope that the > >>> @Environmental stuff is scalable (I'm trying to bypass session > creation > >>> > >> as > >> > >>> much as possible) > >>> > >>> Is there a doc on the various annotations available? > >>> > >>> @Michael: > >>> Could you include a tiny bit of example? THX! > >>> > >>> Thx to you all > >>> cheers > >>> janos > >>> > >>> 2008/4/29 Chris Lewis <[EMAIL PROTECTED]>: > >>> > >>> > >>> > >>>> 5) @InjectPage the page and call the getter > >>>> > >>>> Kristian Marinkovic wrote: > >>>> > >>>> > >>>>> hi janos, > >>>>> > >>>>> there are several possibilities: > >>>>> > >>>>> 1) declare a component parameter and pass in the variable > >>>>> > >>>>> 2) put it in a ASO and inject the ASO in all your components (using > >>>>> @ApplicationState) > >>>>> the drawback is that any other page or component will be able to > >>>>> > >> access > >> > >>>>> the ASO > >>>>> > >>>>> 3) put it into the Environment and read it whereever you need it in > >>>>> > >> your > >> > >>>>> nested components. > >>>>> be careful when you put your object in your environment. if you put > it > >>>>> > >>>>> > >>>> in > >>>> > >>>> > >>>>> during the action > >>>>> request it will not be able in the render request (because of the > page > >>>>> redirect). > >>>>> > >>>>> page: > >>>>> > >>>>> @Inject Environment env; > >>>>> > >>>>> @Persist("flash") whateverclass w; > >>>>> > >>>>> onActivate(w) { this.w= w } > >>>>> > >>>>> setupRender() { env.push(whateverclass.class,w);} > >>>>> > >>>>> components: > >>>>> > >>>>> @Environmental Whateverclass var; > >>>>> > >>>>> 4) define a service that can take this variable (and saves it > >>>>> > >>>>> > >>>> appropriatly > >>>> > >>>> > >>>>> so it is not > >>>>> lost on a redirect:)) and inject your service in the components > where > >>>>> needed > >>>>> to retrieve the value. > >>>>> > >>>>> maybe there are some more possibilities :) > >>>>> > >>>>> g, > >>>>> kris > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> "János Jarecsni" <[EMAIL PROTECTED]> > >>>>> 29.04.2008 08:15 > >>>>> Bitte antworten an > >>>>> "Tapestry users" <users@tapestry.apache.org> > >>>>> > >>>>> > >>>>> An > >>>>> "Tapestry users" <users@tapestry.apache.org> > >>>>> Kopie > >>>>> > >>>>> Thema > >>>>> page activation + components > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> Hi there, > >>>>> > >>>>> I have an activatable page, in its onActivate(String param) method I > >>>>> > >>>>> > >>>> save > >>>> > >>>> > >>>>> the param to a normal instance variable of the page class (no > >>>>> persistence!). > >>>>> How can any component embedded within this page access this > variable? > >>>>> > >>>>> the page class: > >>>>> > >>>>> //... > >>>>> private String param; > >>>>> > >>>>> public void onActivate(String param) { > >>>>> this.param = param; > >>>>> } > >>>>> > >>>>> > >>>>> public String getParam() {...} > >>>>> > >>>>> > >>>>> Thx in advance! > >>>>> Janos > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>> -- > >>>> http://thegodcode.net > >>>> > >>>> > >>>> --------------------------------------------------------------------- > >>>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>> For additional commands, e-mail: [EMAIL PROTECTED] > >>>> > >>>> > >>>> > >>>> > >> -- > >> http://thegodcode.net > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > >> > > -- > http://thegodcode.net > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >