Maybe the request approach does not work, as T5 has two requests action+render following each other? And the request attributes are reset between them?
Janos 2008/4/30 János Jarecsni <[EMAIL PROTECTED]>: > No, I think then I misunderstood you :) > The essential thing, is I'd like to have something similar to request > scoped variables... something that would be available to all components and > the page itself in the same request. Intention is to avoid creating a > session as far as possible. > > thx! > cheers > janos > > 2008/4/30 Blower, Andy <[EMAIL PROTECTED]>: > > This is not what I understood 'perthread' scope to be. I thought that it > > meant that each thread using a service gets its own instance of the service > > to use, even though that instance may not be the same as any previous > > instance it used. In other words, nothing to do with user sessions, it's > > just for services that are not thread safe and cannot be singletons. > > > > Have I got the wrong end of the stick here? > > > > > -----Original Message----- > > > From: Andy Huhn [mailto:[EMAIL PROTECTED] > > > Sent: 29 April 2008 17:34 > > > To: Tapestry users > > > Subject: Re: page activation + components > > > > > > > > > Hello, > > > > > > You can define the scope of each service...you can set that particular > > > service to be tied to only one session. > > > > > > See http://tapestry.apache.org/tapestry5/tapestry-ioc/service.html, > > and > > > search for "perthread". > > > > > > Thanks, > > > Andy > > > > > > On Tue, 29 Apr 2008 18:02:52 +0200, "János Jarecsni" > > > <[EMAIL PROTECTED]> wrote: > > > > 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: users- > > > [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] > > > >> > > > > >> > > > > >> > > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > >