package forscher.nocket.page; import java.io.IOException; import java.io.ObjectInputStream; import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.link.BookmarkablePageLink; import org.apache.wicket.markup.html.list.ListItem; import org.apache.wicket.markup.html.list.ListView; import org.apache.wicket.model.Model; import org.apache.wicket.request.mapper.parameter.PageParameters; import org.nocket.component.menu.MenuItem; @SuppressWarnings("serial") public class HomePage extends ForscherPage { public HomePage(final PageParameters parameters) { add(new ListView<MenuItem>("menuList", Model.ofList(this.getMenuItems())) { @Override protected void populateItem(ListItem<MenuItem> item) { final MenuItem menuEntry = item.getModelObject(); item.add(new Label("label", menuEntry.getLabel())); WebMarkupContainer container = new WebMarkupContainer("nestedcontainer"); ListView<MenuItem> menuList = new ListView<MenuItem>("nested", menuEntry.getSubItems()) { @Override protected void populateItem(ListItem<MenuItem> item) { MenuItem menuEntry = item.getModelObject(); BookmarkablePageLink<Void> link = new BookmarkablePageLink<Void>("nestedlink", menuEntry.getTargetPage()); link.add(new Label("nestedlinklabel", menuEntry.getLabel())); item.add(link); } }; container.add(menuList); item.add(container); } }); } private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException { s.defaultReadObject(); } }