you can not inject component resources that way ... it is specific to a
component
so it's scope is not even PER_THREAD

you will have to provide it in the method you call...
and inject it into your page...

look at it this way: if you have a dozen of components on your page
and from one of the components you call your service....
how would tapestry know for which of the dozen components you need the
ComponentResources ?

that's what I can tell you for now...

Davor Hrg

On 10/26/07, Angelo Chen <[EMAIL PROTECTED]> wrote:
>
>
> hi davor,
>
> correction, the problem is ComponentResources used in the constructor, it
> has this error:
>
> Exception constructing service 'MyServices': Error invoking constructor
> org.bfe.myapp.t5.MyServicesImp(ComponentResources) (at
> MyServicesImp.java:36) (for service 'MyServices'): No service implements
> the
> interface org.apache.tapestry.ComponentResources.
>
> seems ComponentResources can be used in this situation? Thanks.
>
> A.C.
>
>
> Angelo Chen wrote:
> >
> > Hi,
> >
> > Thanks, now when there is only one parameter in the constructor, it
> works:
> >
> >  public MyServicesImp(ApplicationGlobals globals) {
> >         this.globals = globals;
> >     }
> >
> > but if I have this:
> >
> >  public MyServicesImp(ApplicationGlobals globals, ComponentResources
> > resources) {
> >         this.globals = globals;
> >         this.resources = resources;
> >     }
> >
> > it won't work, any hint?
> >
> > Thanks,
> > A.C.
> >
> >
> > Davor Hrg wrote:
> >>
> >> service do not get enhanced like pages do,
> >>
> >> services get dependacies through constructor...
> >>
> >> http://tapestry.apache.org/tapestry5/tapestry-ioc/service.html
> >>
> >> Davor Hrg
> >>
> >> On 10/26/07, Angelo Chen <[EMAIL PROTECTED]> wrote:
> >>>
> >>>
> >>> Hi,
> >>>
> >>> I injected ComponentResources in a service, but it's null, why?
> >>>
> >>> public class MyServicesImp implements MyServices {
> >>>
> >>>     @Inject
> >>>     private ComponentResources resources;
> >>>
> >>>     public String createExternalPageLink(String pageName, Object
> >>> context)
> >>> {
> >>>         return getDomainName() + resources.createPageLink(pageName,
> >>> true,
> >>> context);
> >>>     }
> >>> }
> >>> --
> >>> View this message in context:
> >>>
> http://www.nabble.com/T5%3A-inject-ComponentResources-in-a-service-tf4695974.html#a13423186
> >>> Sent from the Tapestry - User mailing list archive at Nabble.com.
> >>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>> For additional commands, e-mail: [EMAIL PROTECTED]
> >>>
> >>>
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/T5%3A-inject-ComponentResources-in-a-service-tf4695974.html#a13423903
> Sent from the Tapestry - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to