Yep. As we're doing header contributions in HEAD/ 1.1, we're depending
on the autoAdd feature. Add this:
/**
* @see wicket.MarkupContainer#autoAdd(wicket.Component)
*/
public boolean autoAdd(Component component)
{
return border.autoAdd(component);
}
to SimpleBorderedPage
I'll update the WIKI,
Eelco
Jan Mikkelsen wrote:
Hi
I have a pretty simple program with a border (as described on wiki:
How to create consistent page layouts using Borders
<http://wicket.sourceforge.net/wiki/index.php/Consistent_page_layout_using_borders>).
On one page there is a button that makes the server calculate some
stuff and just stay on the page to display the results. After
upgrading to HEAD version, I am getting this error:
wicket.WicketRuntimeException: If the root exception says something like "A child
with id '_header' already exists"than you most likely forgot to override autoAdd()
in your bordered page component.
at wicket.markup.html.HtmlHeaderResolver.resolve(HtmlHeaderResolver.java:82)
at wicket.MarkupContainer.renderNext(MarkupContainer.java:886)
at wicket.MarkupContainer.renderAll(MarkupContainer.java:780)
at wicket.Page.onRender(Page.java:742)
at wicket.Component.render(Component.java:1074)
at wicket.Page.doRender(Page.java:480)
at wicket.protocol.http.WebRequestCycle.redirectTo(WebRequestCycle.java:207)
at wicket.RequestCycle.respond(RequestCycle.java:771)
at wicket.RequestCycle.request(RequestCycle.java:406)
at wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:265)
at wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:289)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
at org.mortbay.http.HttpServer.service(HttpServer.java:879)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:300)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:511)
Caused by: java.lang.IllegalArgumentException: A child with id '_header'
already exists:
[MarkupContainer [Component id = border, page =
com.jatak.webtools.web.gui.MemberPage, path = 3:border.SimpleBorder, isVisible
= true, isVersioned = true]]
at wicket.MarkupContainer.add(MarkupContainer.java:138)
at
com.jatak.webtools.web.gui.SimpleBorderedPage.add(SimpleBorderedPage.java:46)
at wicket.MarkupContainer.autoAdd(MarkupContainer.java:181)
at wicket.markup.html.HtmlHeaderResolver.resolve(HtmlHeaderResolver.java:78)
Do I need to override autoAdd() somewhere? If so, where and how?
I tried the “re-use strategy” in MarkupContainer, but with the same
results.
Regards,
Jan Mikkelsen
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user