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]

Reply via email to