hi michael,

it should work with just @Inject. You can take a look at the 
BeanEditForm component... it uses a bunch of @Injects.
(T5.0.4)
g,
kris




Michael Maier <[EMAIL PROTECTED]> 
04.05.2007 11:37
Bitte antworten an
"Tapestry users" <users@tapestry.apache.org>


An
Tapestry users <users@tapestry.apache.org>
Kopie

Thema
T5: How to inject a service into a component?






Hi List,

I'm trying to inject via @Inject annotation a service (internal 
service RequestPageCache) into a component:

public class Menu {

     @Inject("RequestPageCache")
     RequestPageCache requestPageCache;

     public String getPageName() {

         ComponentResources pageResources= resources.getPage 
().getComponentResources();
         String pageClassName= pageResources.getCompleteId();
         Page page= requestPageCache.getByClassName(pageClassName);
         return page.getName();
     }
}

so...while rendering the page with the menu component

<div id="leftside">
     <div id="menu">
         <ul>
             <li>
                 ${pageName}
             </li>
         </ul>
     </div>
</div>

a null pointer exception occures, because "requestPageCache" is null. 
What is getting wrong? Is RequestPageCache not injectable?

What I want: I just try to get the page of the component. Then the 
menu component should highlight by providing a special css-class the 
corresponding menu item of the <ul><li>-list for the active page. 
Therefore the menu component must know the current page that is 
rendered. In Tapestry 3 is just call the method getPage of the 
component. Now every component has no parent class...

While we are talking about injection: the docs are a little bit 
confusing:

@Inject
@Service("xxx") (which did not work with 5.0.3, because Service 
annotation does not exist)

or

@Inject("xxx")

or

@Inject( "service:xxx" ) (what kind of prefixes (service:) exists and 
what meaning have they?)

sometimes:
@Inject ("alias:request" )...is there somewhere a list with all 
objects that are able to be injected from tapestry-core?

thanks for any help

cheers

Michael


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to