That is the point: Wicket does not require it. There is no special rule. I
guess, at the latest when the page will be rendered, all components had to be
added to a page. (I don't know exactly when Wicket needs the complete component
tree of a page).
But there is no initialising method as in Spring (in fact, the constructor is
the initlializer, as for all java objects). And you are free to add components
within the constructor of the page.
This freedom is, IMHO, a drawback for the kind of Spring integration so many
people are asking for. On the other side, there are many advantages and this
"drawback" is part of the special attractiveness of Wicket.
Perhaps the following code fragment, taken from the linkomatic example, will
show what I mean with "drawback".
Remember that not only Wicket-Framework will create page objects like this:
// Link to Page1 is a simple external page link
add(new BookmarkablePageLink("page1Link", Page1.class));
Page objects can be explicitly created by the programmer. It is possible to
link to a new page like this:
// Link to BookDetails page
add(new PageLink("bookDetailsLink", new IPageLink()
{
public Page getPage()
{
return new BookDetails(new Book("The Hobbit"));
}
public Class getPageIdentity()
{
return BookDetails.class;
}
}));
Quite nice stuff, right? But where is or could be Spring in the second example?
Regards
Martin
>>> [EMAIL PROTECTED] 22.08.05 12:50 >>>
On Mon, 2005-08-22 at 12:31 +0200, Martin Fey wrote:
> The serializable-thing is one reason why there is a integration contribution
> in form of a pull model: SpringBeanModel
>
> I'm not yet convinced that Spring-managing Wicket-components (or parts of
> them) is a really good idea, because of all the issues discussed earlier in
> this mailing list (e.g. unavailability of Spring in the constructor). I think
> the Model-interface is the best extension point for integrating other tools
> and frameworks.
>
> But I'm curious about the other ideas.
Does Wicket require one to add components on constructor? In Spring we
often do initialization by implementing InitializingBean interface.
Spring bean factory ensures that all properties are injected before
calling the interface method:
public class MyForm extends Form implements InitializingBean {
private transient MyDao myDao;
public void afterPropertiesSet() {
Assert.notNull(myDao);
...
add(new MyOtherComponent());
...
}
public void setMyDao(MyDao myDao) {
this.myDao = myDao;
}
}
--
Joni Suominen <[EMAIL PROTECTED]>
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user