Johannes Renoth created WICKET-6842:
---------------------------------------
Summary: onRender calls onBeforeRender
Key: WICKET-6842
URL: https://issues.apache.org/jira/browse/WICKET-6842
Project: Wicket
Issue Type: Bug
Affects Versions: 8.7.0
Reporter: Johannes Renoth
I am not 100% sure if this is a bug in Wicket but i have the following
stacktrace from our application:
{code:java}
org.apache.wicket.WicketRuntimeException: Cannot modify component hierarchy
after render phase has started (page version cant change then anymore)
at org.apache.wicket.Component.checkHierarchyChange(Component.java:3553)
at org.apache.wicket.Page.dirty(Page.java:270)
at org.apache.wicket.markup.html.WebPage.dirty(WebPage.java:317)
at org.apache.wicket.Page.dirty(Page.java:249) at
org.apache.wicket.Page.componentModelChanging(Page.java:883)
at org.apache.wicket.Component.modelChanging(Component.java:2150)
at org.apache.wicket.Component.setDefaultModel(Component.java:2926)
...
at xyz.onBeforeRender(Eingabekomponente.java:571)
at xyz.onBeforeRender(AuswahlEingabekomponente.java:52)
at xyz.onBeforeRender(ESPFormularUtil.java:89) at
org.apache.wicket.Component.beforeRender(Component.java:939)
at
org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1737)
at org.apache.wicket.Component.onBeforeRender(Component.java:3808)
at org.apache.wicket.Component.beforeRender(Component.java:939)
at
org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1737)
at org.apache.wicket.Component.onBeforeRender(Component.java:3808)
at org.apache.wicket.Component.beforeRender(Component.java:939)
at
org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1737)
at org.apache.wicket.Component.onBeforeRender(Component.java:3808)
at org.apache.wicket.Component.beforeRender(Component.java:939)
at
org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1737)
at org.apache.wicket.Component.onBeforeRender(Component.java:3808)
at org.apache.wicket.Component.beforeRender(Component.java:939)
at org.apache.wicket.MarkupContainer.addedComponent(MarkupContainer.java:1029)
at org.apache.wicket.MarkupContainer.add(MarkupContainer.java:240)
at org.apache.wicket.MarkupContainer.autoAdd(MarkupContainer.java:313)
at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1426)
at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1637)
at
org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1612)
at
org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1570)
{code}
I have a Form component inside a Border inside a Form (if that is relevant)
I dont think onbeforeRender should be called in the render phase of another
component (which ultimately leads to this error).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)