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]