On Fri, May 2, 2008 at 1:23 PM, János Jarecsni <[EMAIL PROTECTED]> wrote: > hi Josh > > well I think if I have a reusable (pluggable) component, the ability to > configure it comes in handy when putting the site together. Say, I have a > voter component. Week by week there's another question, or I'd like to add > three instances of a stock monitor each configured to poll a different > paper's data. All this can be done in the admin site accompanying the base > site. I would not reserve this model for CMS, manageability is an important > feature for any application. >
Yeah, that's all out of the realm of what I would consider Tapestry's area of responsibility. These are application concepts best left to the application designer, whether your application is a portal/cms/or other. > Regarding localization, say we have some component C residing in the > com.foo.components package. It has its own message catalogue, C.properties. > Question is how and where to put a C.properties file to override the > "factory defaults" for this component? Say the component author defined a > label like username=User name whereas in the current application I'd like to > have this as: username=Employee name. I want to use the component but with a > different message catalogue. All this without modifying the component JAR. > There is probably room for better support for replacing existing message bundles. As it stands I believe putting your properties files into the classpath in front of your compoent jars would get your desired result. > Is there some info on your page cache implementation (and the component > version as well)? In my vision caching is also something to be configured on > the admin site :) I based my cache off of the ehcache j2ee cache and a request dispatcher. I believe if you search the list you can find out something about the component class. > > Maybe it's time to cache myself in bed now or I'll miss this night too, and > that would be baaad :) > > Cheers > janos > > 2008/5/2 Josh Canfield <[EMAIL PROTECTED]>: > > > > Hey Janos, > > > > Perhaps a building platform on a framework then? :) > > > > > 1. automatic admin site generation (the administration or configuration > > of > > > components is an essential aspect of web applications) > > > > No, this is definitely platform functionality here. I have no need for > > managing components like you describe. My web applications read/write > > data from a database and present them in a consistent way. What you > > are talking about here sounds like a Content Management System, which > > you could build using Tapestry. > > > > > 2. override of resources from top to bottom ... > > Definitely, and best that I know this is possible with Tapestry. Do > > you have a specific problem? > > > > > 3. caching of component UI ... > > Eh... whether this should be built into the framework is debatable > > (and has been debated). As I recall Howard isn't a fan of caching at > > that level. I built a page level cache for my app within the framework > > (very slow changing data), someone on this list has built a component > > version. > > > > > > Anyway, good luck getting some sleep tonight! > > > > Josh > > > > On Fri, May 2, 2008 at 8:25 AM, János Jarecsni <[EMAIL PROTECTED]> > > wrote: > > > one more thing :) > > > > > > "At that point you're sort of building a > > > framework on a framework." > > > > > > No, really not. I just try to work out some best practices for my own > > use on > > > how to create truly reusable components, and how to build web sites (not > > > portals, cause I think the "normal" website let it be an e-commerce site > > or > > > a blog site or whatever is significantly different from a portal, and > > there > > > are quite good portal engines out there anyway :)). I like T5 quite much > > (I > > > don't know a lot of core stuff, I only read Alexander Kolesnikov's book > > > which is a great introduction by the way). But I found a few things > > which > > > are not supported directly and I would need these for my large scale > > goal: > > > > > > 1. automatic admin site generation (the administration or configuration > > of > > > components is an essential aspect of web applications) > > > 2. override of resources from top to bottom (I mean, that the > > application > > > assembler should be able to replace the i18n and CSS resources of a > > > component with stuff of his/her liking. According to what I currently > > know > > > this is not possible, only the opposite way) > > > 3. caching of component UI (for instance, I should be able to say in a > > > component which generates graphs that the framework should cache the > > result > > > for 5 minutes or until a certain event is not triggered) > > > > > > and maybe more as I go ahead. Once more, I definitely don't want to > > build a > > > new framework, but these issues are quite important if you really after > > > creating a repository of a few dozen components which can save you the > > bulk > > > of the work when creating a new site. > > > > > > I have finished my second 5 o' clock coffee and still I'm sleepy and > > tired. > > > Yesterday night there was a party in the appartment above us, and the > > young > > > guys stopped at 4am. I had a hard time remembering what it was like when > > I > > > was doing the same thing :P > > > > > > Cheers, > > > Janos > > > > > > > > > 2008/4/30 Josh Canfield <[EMAIL PROTECTED]>: > > > > > > > > > > Are you trying to keep the news id out of the url? Doesn't sound like > > > > it from your response to not doing the redirect. Since that's the > > > > case, why not add it to the page context? > > > > > > > > I suppose if you were building a portal with several components then > > > > keeping track of component parameters could get unwieldy. If you were > > > > showing a news article from the news portlet, and a stock highlight > > > > from the stock portlet... At that point you're sort of building a > > > > framework on a framework. > > > > > > > > You could build your page such that it accumulated context from it's > > > > components. Push a ComponentContext object into the Environment > > > > onActivate, and setupRender in your page (env gets cleared before > > > > render phase, not sure if there is a better way than doing it in > > > > both.) Then collect component parameter mappings. onPassivate for your > > > > page would organize and return these as it's context (you might want > > > > to sort them to get consistent results) > > > > > > > > Your url might look like this: > > > > > > > > http://localhost/context/mypage/cc/news/4527/stock/MCD > > > > > > > > Then onactivate you init the ComponentContext from the url keying off > > > > the "cc" to grab the remaining parameters and use them as key/value > > > > for the components. The your components do something like: > > > > > > > > @Environmental > > > > private ComponentContext _compContext; > > > > > > > > void setupRender() { > > > > Long newsId = _compContext.getLong(_resources.getId()); > > > > } > > > > > > > > void onPickNewsItem(Long id) { > > > > _compContext.put(_resources.getId(), id); > > > > } > > > > > > > > > > > > Josh > > > > > > > > On Wed, Apr 30, 2008 at 5:23 AM, János Jarecsni > > > > <[EMAIL PROTECTED]> wrote: > > > > > Hi Chris, > > > > > > > > > > I try to explain :) > > > > > Say, you have a "NewsQuote" component, which shows a few lines from > > the > > > > 5 > > > > > latest news. At the and of each quotations, there a "More" link. > > Now, > > > > when > > > > > the user clicks on this link (an action link, for that matter), the > > > > > NewsQuote component will set a request scope info saying that the > > news > > > > with > > > > > ID=4527 is requested. And when it comes to the "News" component (it > > is > > > > able > > > > > to show the text of a given news in full), it simply looks at this > > piece > > > > of > > > > > info, and loads the news with id 4527 (or gets it from an app level > > > > cache > > > > > :)) and renders it. > > > > > > > > > > Hope it tells something about what I am up to :) > > > > > > > > > > thx > > > > > Janos > > > > > > > > > > 2008/4/30 Chris Lewis <[EMAIL PROTECTED]>: > > > > > > > > > > > > > > > > Honestly it's difficult for me to imagine a situation where I'd do > > > > that > > > > > > because it seems to violate a degree of encapsulation that > > tapestry > > > > > > imposes as a "freeing law" of the framework. The epicenter of that > > > > being > > > > > > that one should not think in terms of low-level idioms such as > > request > > > > > > parameters, and instead replace those with a higher level of > > > > application > > > > > > logic that eclipses them entirely (when possible). That's not to > > say > > > > > > that your perspective is flawed, but from the small bit of > > > > understanding > > > > > > I've taken from your posts I can't see why one would do what you > > want. > > > > > > The thing that I've been saying is missing here is, what are you > > > > trying > > > > > > to do? I don't mean technically, I mean what is the end result for > > the > > > > > > user? Understanding this is critical, but even if I don't your > > problem > > > > > > can still be solved by using a session to serve as an arbitrary > > > > holder. > > > > > > If you've settled on this architecture, why not write such a > > generic > > > > > > service and move on? > > > > > > > > > > > > János Jarecsni wrote: > > > > > > > Hi, > > > > > > > > > > > > > > I looked everywhere for usage of request scope variables, but > > found > > > > > > nothing > > > > > > > (maybe I'm impatient a bit :)... > > > > > > > Is it really that unrealistic to have two components in a page, > > one > > > > (A) > > > > > > > having an action link eventhandler where it would set some > > attribute > > > > for > > > > > > the > > > > > > > request only (not the session!) and then component B could > > render > > > > itself > > > > > > > according to the attribute set by component A? > > > > > > > > > > > > > > I think it should be a piece of cake :) > > > > > > > > > > > > > > thx > > > > > > > Janos > > > > > > > > > > > > > > 2008/4/30 Filip S. Adamsen <[EMAIL PROTECTED]>: > > > > > > > > > > > > > > > > > > > > >> Nope, you're exactly right. > > > > > > >> > > > > > > >> -Filip > > > > > > >> > > > > > > >> Blower, Andy skrev: > > > > > > >> > > > > > > >> 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] > > > > > > >>>> > > > > > > >>>> > > > > > > >>> > > > > > > >> > > > > --------------------------------------------------------------------- > > > > > > >> > > > > > > >> 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] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > -- > > > > TheDailyTube.com. Sign up and get the best new videos on the internet > > > > delivered fresh to your inbox. > > > > > > > > --------------------------------------------------------------------- > > > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > -- > > -- > > TheDailyTube.com. Sign up and get the best new videos on the internet > > delivered fresh to your inbox. > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > -- -- TheDailyTube.com. Sign up and get the best new videos on the internet delivered fresh to your inbox. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]