2012-04-08 22 views
0

ASP.NET MVCの後でWicketの学習を開始し、URLの管理についてちょっと混乱しています。ここでは、コードです:Wicket人間が読めるURL

アプリケーション

package com.test.wicketapp1; 

import org.apache.wicket.protocol.http.WebApplication; 

public class WicketApplication extends WebApplication { 
    public WicketApplication() { 
     mountPage("/page1", HomePage.class); 
     mountPage("/page2", Page2.class);  
    } 

    @Override public Class<HomePage> getHomePage() { 
     return HomePage.class; 
    } 
} 

ホームページ

package com.test.wicketapp1; 

import java.io.IOException; 

import org.apache.wicket.request.mapper.parameter.PageParameters; 
import org.apache.wicket.markup.html.link.BookmarkablePageLink; 
import org.apache.wicket.markup.html.WebPage; 

public class HomePage extends WebPage { 
    private static final long serialVersionUID = 1L; 

    public HomePage(final PageParameters parameters) throws IOException { 
     BookmarkablePageLink<Page2> bookmarkablePageLink = new BookmarkablePageLink<Page2>("gopage2link", Page2.class); 
     add(bookmarkablePageLink); 
    } 
} 

ホームページマークアップ

<!DOCTYPE html> 
<html xmlns:wicket="http://wicket.apache.org"> 
    <head> 
     <title>Apache Wicket Quickstart</title> 
    </head> 
    <body> 
     <a href="#" wicket:id="gopage2link">go page 2</a> 
    </body> 
</html> 

私が持っていたかったのはかなり簡単です。 HomePage.classには "/ page1"、Page2.classには "/ page2"という2つのURLがあると予想していました。私のホームページはPage2に移動するリンクを持ち、HomePageがレンダリングされるとそのリンクは"/ページ2"。

私は、アプリケーションを実行し、ホームページに移動すると、次のようにレンダリングされます。代わりに

<a href="/page2" wicket:id="gopage2link">go page 2</a> 

:私はのようなものを持っていることが予想

<!DOCTYPE html> 
<html xmlns:wicket="http://wicket.apache.org"> 
    <head> 
     <title>Apache Wicket Quickstart</title> 
    </head> 
    <body> 
     <a href="./wicket/bookmarkable/com.test.wicketapp1.Page2" wicket:id="gopage2link">go page 2</a> 
    </body> 
</html> 

。私は何を取りこぼしたか?

答えて

2

問題は次のとおりです。マッピングを定義するために、ctorの代わりにappのinitメソッドを使用する必要があります。

関連する問題