[
https://issues.apache.org/jira/browse/WICKET-4408?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13502921#comment-13502921
]
Sven Meier commented on WICKET-4408:
------------------------------------
No, your component resolver cannot add (non-auto) components during render, it
is forbidden to alter the component hierarchy that late.
What you can do is let your component analyse the markup in #onInitialize() and
add the required components.
> Components resolved by an IComponentResolver fail to contribute to header via
> renderHead
> ----------------------------------------------------------------------------------------
>
> Key: WICKET-4408
> URL: https://issues.apache.org/jira/browse/WICKET-4408
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.5.4
> Environment: Happens on all FireFox Chrome, IE
> Windows XP
> Reporter: Chris Colman
> Assignee: Igor Vaynberg
> Labels: wicket
>
> If a component is resolved via an IComponentResolver implementation then its
> overridden renderHead method never gets called.
> If the same component is added explicitly to its parent then its renderHead
> method is called.
> This is critical for us because we have markup variations that may or may not
> include certain panels. We thus leave the construction/adding of these panels
> to our IComponentResolver implementation because we can't explicitly add them
> because not all markup will require all panels.
> Class MyPanel extends Panel
> {
> /**
> * Write out necessary header markup.
> */
> @Override
> public void renderHead(IHeaderResponse response)
> {
> StringBuffer sb = new StringBuffer();
>
> sb.append("<script src=\"/jquery.easing.1.3.min.js\"></script>");
> sb.append("<script src=\"/trans-banner.min.js\"></script>");
>
> response.renderString(sb.toString());
> }
> }
> We aren't using any markup inheritance at the panel level.
--
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