Avec eclipse, j'ai créé un projet basé sur wicket1.4 en utilisant le quickstart (à l'aide de maven).
Tout s'est bien passé, et j'ouvre ma HomePage sans problèmes;
J'ai alors suivi le tutoriel sur la markup inheritance, et je bloque sur une erreur depuis sans en trouver la cause ?

HomePage.java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
public class HomePage extends WebPage {
 
    private static final long serialVersionUID = 1L;
 
    public HomePage(final PageParameters parameters) {
        add(new Label("message", "Bienvenue dans le wicketWorld"));
        add(new BookmarkablePageLink("pageOne", PageOne.class));
    }
}
HomePage.html
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<html xmlns:wicket="http://wicket.apache.org/">
    <head>
        <title>Homepage</title>
        <link rel="stylesheet" type="text/css" href="base.css" />
    </head>
    <body>
        <div id = "header">  
            <span wicket:id="message"></span>
            <a href="#" wicket:id="pageOne">Page 1</a>
        </div>
        <div id = "body">    
            <wicked:child/>
        </div>
    </body>
</html>
PageOne.java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
public class PageOne extends HomePage{
    public PageOne(PageParameters parameters) {
        super(parameters);
        add(new Label("message1", "Bienvenue sur la page 1 du wicketWorld"));
    }
}
PageOne.html
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<html xmlns:wicket="http://wicket.apache.org/">
    <body>
        <wicked:extend>
            <span wicket:id="message1"></span>
        </wicked:extend>    
    </body>
</html>
Ma HomePage s'affiche, mais lorsque je clique sur le lien de la page1, j'ai l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
org.apache.wicket.WicketRuntimeException: The component(s) below failed to render. A common problem is that you have added a component in code but forgot to reference it in the markup (thus the component will never be rendered).
1. [Component id = message, page = com.PageOne, path = 0:message.Label, isVisible = true, isVersioned = true]
2. [MarkupContainer [Component id = pageOne, page = com.PageOne, path = 0:pageOne.BookmarkablePageLink, isVisible = true, isVersioned = true]]
     at org.apache.wicket.Page.checkRendering(Page.java:1110)
     at org.apache.wicket.Page.renderPage(Page.java:903)
     at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.respond(BookmarkablePageRequestTarget.java:245)
     at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:104)
     at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1175)
     at org.apache.wicket.RequestCycle.step(RequestCycle.java:1246)
     at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1347)
     at org.apache.wicket.RequestCycle.request(RequestCycle.java:497)
     at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:420)
     at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:232)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
     at java.lang.Thread.run(Thread.java:619)
Je n'arrive pas à trouver ce qui bloque, J'ai pourtant déjà créé une application utilisant ce principe avec wicket1.3 sous netbeans, et tout fonctionnait bien. J'ai beau relire les sources, je vois pas ou est l'erreur. Quelqu'un a une idée ?