That can't be the markup that generated that error because there is no tag in
it with a wicket:id="label" which the error message is complaining about.

But you also do not add a tag for exampleTitle which you add here 
        add(new Label("exampleTitle", exampleTitle)); 

Basically, every wicket:id in your html files must have a component in your
java file and visa versa


btakacs wrote:
> 
> Hi
> 
> I'm new in wicket. I tried to display a list of components, but I get the
> following error:
> 
> WicketMessage: Unable to find component with id 'label' in
> [MarkupContainer [Component id = link, page = com.myapp.wicket.HomePage,
> path = 0:mainNavigation:menu:0:link.BookmarkablePageLink, isVisible =
> true, isVersioned = true]]. This means that you declared wicket:id=label
> in your markup, but that you either did not add the component to your page
> at all, or that the hierarchy does not match.
> [markup =
> file:/D:/workspace/NetBeansProjects/WicketTest/build/web/WEB-INF/classes/com/myapp/wicket/HeaderPanel.html
> 
> The html:
> <html xmlns:wicket>
> <body>
>   <wicket:panel>
>     <h1>Wicket Example</h1>    
>     <p id="titleblock">
>         Start of Example Title Goes Here
>         
>    </p>
>    
>    <ul wicket:id="menu">    
>     <li>  </li>
>     
>   </ul>
> 
>   </wicket:panel>
> </body>
> </html>
> 
> The MarkupComponents are:
> #     Path    Size    Type    Model Object
> 1     mainNavigation          3K      com.myapp.wicket.HeaderPanel            
> No get
> method defined for class: class com.myapp.wicket.HomePage expression:
> mainNavigation   
> 2     mainNavigation:exampleTitle     421 bytes    
> org.apache.wicket.markup.html.basic.Label     wicket   
> 3     mainNavigation:menu     4.4K    
> org.apache.wicket.markup.html.list.ListView    
> [EMAIL PROTECTED],
> [EMAIL PROTECTED],
> [EMAIL PROTECTED]   
> 4     mainNavigation:menu:0           4.4K    
> org.apache.wicket.markup.html.list.ListItem    
> [EMAIL PROTECTED]   
> 5     mainNavigation:menu:0:label     418 bytes    
> org.apache.wicket.markup.html.basic.Label     First Page   
> 6     mainNavigation:menu:0:link      1K    
> org.apache.wicket.markup.html.link.BookmarkablePageLink       No get method
> defined for class: class com.myapp.wicket.HomePage expression: link   
> 7     mainNavigation:menu:1           4.4K    
> org.apache.wicket.markup.html.list.ListItem    
> [EMAIL PROTECTED]   
> 8     mainNavigation:menu:1:label     419 bytes    
> org.apache.wicket.markup.html.basic.Label     Second Page   
> 9     mainNavigation:menu:1:link      1K    
> org.apache.wicket.markup.html.link.BookmarkablePageLink       No get method
> defined for class: class com.myapp.wicket.HomePage expression: link   
> 10            mainNavigation:menu:2           4.4K    
> org.apache.wicket.markup.html.list.ListItem    
> [EMAIL PROTECTED]   
> 11            mainNavigation:menu:2:label     418 bytes    
> org.apache.wicket.markup.html.basic.Label     Third Page   
> 12            mainNavigation:menu:2:link      1K    
> org.apache.wicket.markup.html.link.BookmarkablePageLink       No get method
> defined for class: class com.myapp.wicket.HomePage expression: link   
> 13            param           409 bytes       
> org.apache.wicket.markup.html.basic.Label    
> 0   
> 14            stylesheet      1.4K    
> org.apache.wicket.markup.html.resources.StyleSheetReference           No get
> method defined for class: class com.myapp.wicket.HomePage expression:
> stylesheet 
> 
> I have the following classes:
> 
> public class HeaderPanel{
>     public HeaderPanel(String componentName, String exampleTitle)
>     {
>         super(componentName);
>         add(new Label("exampleTitle", exampleTitle));
>         ArrayList<MenuModel> menu=new ArrayList<MenuModel>();
>         menu.add(new MenuModel("1", "HomePage", "First Page"));
>         menu.add(new MenuModel("2", "HomePage", "Second Page"));
>         menu.add(new MenuModel("3", "HomePage", "Third Page"));
>         
>         MenuView view = new MenuView("menu", menu);
>         add(view);   
>  
>     }
> }
> 
> public class MenuView extends ListView {
> 
>     public MenuView(final String id) {
>         super(id);
>     }
> 
>     public MenuView(final String id, final IModel model) {
>         super(id, model);
>     }
> 
>     public MenuView(final String id, final List list) {
>         super(id, list);
>     }
>     
>     @Override
>     protected void populateItem(ListItem item) {
>         final MenuModel element = (MenuModel) item.getModelObject();
>         Class clas;
>         try {
>             clas = Class.forName(element.getClas());
>         } catch (ClassNotFoundException ex) {
>             Logger.getLogger(MenuView.class.getName()).log(Level.WARNING,
> null, ex);
>             clas=this.getApplication().getHomePage();
>         }
> 
>         item.add(new Label("label", element.getLabel()));
>         item.add(new BookmarkablePageLink("link", clas,
>                 new PageParameters("id=" + element.getId())));
>     }
> }
> 
> public class MenuModel implements Serializable{
>     
>     public String clas;
>     public String label;
>     public String id;
>     
>     public MenuModel(String id, String clas, String label){
>         this.id=id;
>         this.clas=clas;
>         this.label=label;
>     }
> 
>     public String getClas() {
>         return clas;
>     }
> 
>     public void setClas(String clas) {
>         this.clas = clas;
>     }
> 
>     public String getLabel() {
>         return label;
>     }
> 
>     public void setLabel(String label) {
>         this.label = label;
>     }
> 
>     public String getId() {
>         return id;
>     }
> 
>     public void setId(String id) {
>         this.id = id;
>     }    
> }
> 
> 
> Any tips?
> 
> Thanks.
> 

-- 
View this message in context: 
http://www.nabble.com/%22Unable-to-find-component-with-id%22-tp19091781p19091952.html
Sent from the Wicket - User mailing list archive at Nabble.com.


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

Reply via email to