[ https://issues.apache.org/jira/browse/WICKET-627?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alastair Maw updated WICKET-627: -------------------------------- Assignee: (was: Alastair Maw) Summary: Can't visit components in a ListView before they're rendered. (was: onBeforeRenderChildren should be made protected) I still can't work out how to do this. Igor suggested moving the call to Component#onBeforeRenderChildren() inside Component#onBeforeRender(), but if I do that, I get an NPE in the ListView#renderItem() method even for basic code. > Can't visit components in a ListView before they're rendered. > ------------------------------------------------------------- > > 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 > Fix For: 1.3.0-beta3 > > > 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.