[
https://issues.apache.org/jira/browse/WICKET-5320?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Martin Grigorov resolved WICKET-5320.
-------------------------------------
Resolution: Won't Fix
This has been fixed in Wicket 6.0.0.
1.5.x is in maintenance mode and such (rather big) changes won't be made to it.
> RenderHead order is different with Ajax Request
> -----------------------------------------------
>
> Key: WICKET-5320
> URL: https://issues.apache.org/jira/browse/WICKET-5320
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.5.7
> Reporter: Palancher aurélien
> Priority: Minor
>
> Component renderHead method is called before the children renderHead in Ajax
> request.
> In AjaxRequestTarget.respondHeaderContribution :
> component.renderHead(header);
> if (component instanceof MarkupContainer)
> {
> ((MarkupContainer)component).visitChildren(new
> IVisitor<Component, Void>()
> {
> public void component(final Component
> component, final IVisit<Void> visit)
> {
> if (component.isVisibleInHierarchy())
> {
> component.renderHead(header);
> }
> else
> {
> visit.dontGoDeeper();
> }
> }
> });
> }
> When responding a normal request, in ChildFirstHeaderRenderStrategy, we have :
> @Override
> public void renderHeader(final HtmlHeaderContainer headerContainer,
> final Component rootComponent)
> {
> Args.notNull(headerContainer, "headerContainer");
> Args.notNull(rootComponent, "rootComponent");
> // First the application level headers
> renderApplicationLevelHeaders(headerContainer);
> // Than its child hierarchy
> renderChildHeaders(headerContainer, rootComponent);
> // Than the root component's headers
> renderRootComponent(headerContainer, rootComponent);
> }
> This causes problems refreshing the component.
> In my case : a child component executes an onload javascript function wich
> stores datas in the markup, and my root component uses them in another onload
> function. First access : datas ok, ajax refresh : the datas are not stored
> yet.
> I have tested component.renderHead(header); after the child visitor in
> AjaxRequestTarget and it works fine.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira