Hi there,

the service approach (as I expected) is session-agnostic (and is
page-independent so concurrent users would interfere badly), therefore is
not ok.

I will now try the Environment approach... if that is session-aware :)

thx again
janos

2008/4/29 János Jarecsni <[EMAIL PROTECTED]>:

> 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]
> >
> >
>

Reply via email to