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]