[ https://issues.apache.org/jira/browse/WICKET-627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12502893 ]
Johan Compagner commented on WICKET-627: ---------------------------------------- hmm so this just can't be solved that way then what we could do is set the rendering flag a bit later?? in page.renderPage() itself? with a visitor? So that first onBefore is called and if that works completely then the rendering flag is set on all. (this also removes the nasty try{} finally around the beforeRender() call to set the flags right again. > onBeforeRenderChildren should be made protected > ----------------------------------------------- > > Key: WICKET-627 > URL: https://issues.apache.org/jira/browse/WICKET-627 > Project: Wicket > Issue Type: Bug > Affects Versions: 1.3.0-beta1 > Reporter: Alastair Maw > Assignee: Alastair Maw > Fix For: 1.3.0-beta2 > > > I've discussed this with Johan and we think we need to make > onBeforeRenderChildren() protected. > <AlMaw> I have a ValidationTaggedForm extends Form. > <AlMaw> And in onBeforeRender, I call visitChildren(validationTaggingVisitor) > <AlMaw> And the validationTaggingVisitor adds a behaviour. > <AlMaw> If I have a ListView in the Form, onBeforeRender for the Form is > called before the ListView populateItem calls. > <AlMaw> Thus the components added in the ListView aren't visited. > We can't just swap the order of the calls to onBeforeRender() and > onBeforeRenderChildren() in Component#beforeRender() because that will break > existing code and the repeaters. Besides, someone will only want to do things > the other way around at some later date (e.g. attach a behaviour to a parent > using a child then needs to reference/find). > Suggested solution is to make onBeforeRenderChildren() protected, which will > allow as much flexibility as you like. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.