hi The other day, I was busy creating reusable components. To make them "safe", I used what I believe is a wicket good practices: adding the components in onBeforeRender.
In fact, it's not just in onBeforeRender, it's rather : @Override protected void onBeforeRender() { if(!hasBeenRendered()){ // actual code } super.onBeforeRender(); } having done this stuff repeatedly, I felt a bit annoyed but these many " if(!hasBeenRendered())" and the brackets/indentations it brings. Furthermore, on the few occasions I really needed something done on each onBeforeRender, it brought clutter to the code. Last but not least, recently, I was helping a wicket beginner and explaining this "onBeforeRender/if(!hasBeenRendered)" wasn't the best moment I had. As such, I started to wonder if a simple "onInitialRender" method (or similarly named) could be created ? It would run once and only once before the first onBeforeRender. onBeforeRender would then return to what it should really mean (but still have this handy hasBeenRendered() method just in case). In the end, it's trivial but would save a few keystrokes and bring some clarity. What do you think of that ? thanks in advance joseph