I suffered with this one for quite some time... you can *not provide
ComponentResources to a service, you will end up with all sorts of funky
errors, but I did however manage to create a navigation component and
reuse it in there. The navigation component is part of my layout
template, so I don't have to inject ComponentResources in every page.
Davor Hrg wrote:
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]