「【wicket】アプリケーションのURL」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
wicketでは、WebPageとURLを結びつけの為にniceURLという仕組みを使います。(多分)
このページは、このniceURLのサンプルページの簡単なまとめです。
[[サンプルページ>http://wicketstuff.org/wicket13/niceurl/the/homepage/path]]
具体的には、ユーザーはApplicationの初期化クラスのinitメソッドの中で、mount系メソッドを使います。
例えば、mekeApp という名前のWebアプリケーションで、/mekeApp/create というパスに CreatePage を割り当てたい場合、以下のように記述します。
>protected void init() {
> super.init();
> super.mountBookmarkablePage("create", CreatePage.class);
また、このように静的なパスで呼び出せるPageをwicketでは、BookmarkablePage と呼んでいるようです。
**mount系メソッドの種類
mount系メソッドには、以下の3種類があります。
+単一ページの紐付け(Pathパラメーター利用)
+単一ページの紐付け(URLパラメーター利用)
+パッケージ単位の紐付け
それぞれの使い方は以下になります。
**単一ページの紐付け(Pathパラメーター利用)
mountBookmarkablePageメソッドを使います。
サンプルでは以下のようになっています。
>mountBookmarkablePage("/home", Home.class);
>
>とすると、
>
>/mekeApp/home というパスでHome ページにアクセスできます。
この方式を使った場合、WebPageクラスにパラメーターを渡す場合は、URLのパスとして値を渡します。
>例えば、param1 に meke, param2 に 100 という値を渡したい場合URLは以下のようになります。
>
>/mekeApp/home/param1/meke/param2/100/
>
また、WebPageクラス側では、パラメーターを受け取る為に PageParameters を引数にとるコンストラクタを用意しておく必要があります。
>
>public class MekePage extends WebPage{
> public MekePage(PageParameters parameters){
> ...
>
**単一ページの紐付け(URLパラメーター利用)
mountBookmarkablePageWithUrlCodingメソッドを使います。
サンプルでは以下のようになっています。。。
と思ったら、wicket 1.3(beta3)では、メソッドが無くなっている??
もしかして、サンプル古いのかな??
というわけで、一旦保留します・・・。
**パッケージ単位の紐付け
mountメソッドを使います。
このメソッドを使うと、指定したWebPageクラスと同じパッケージに含まれるページクラスを自動的にURLに紐付けることが出来ます。
楽チン!
ただし、URLの末尾にWebPageの名前が付いてしまいます。
サンプルでは以下のようになっています。
>mountBookmarkablePage("/base", PackageName.forClass(Home.class));
>
>とすると、
>
>/mekeApp/base/Home/ というパスでHome ページにアクセスできます。
>同じパッケージ内に、Friend.class というWebPageがある場合は
>/mekeApp/base/Friend/ というパスになります。
ページへのパラメーターの渡し方は、”単一ページの紐付け(Pathパラメーター利用)”の時と同じです。
wicketでは、WebPageとURLを結びつけの為にniceURLという仕組みを使います。(多分)
このページは、このniceURLのサンプルページの簡単なまとめです。
[[サンプルページ>http://wicketstuff.org/wicket13/niceurl/the/homepage/path]]
具体的には、ユーザーはApplicationの初期化クラスのinitメソッドの中で、mount系メソッドを使うことになります。
例えば、mekeApp という名前のWebアプリケーションで、/mekeApp/create というパスに CreatePage を割り当てたい場合、以下のように記述します。
>protected void init() {
> super.init();
> super.mountBookmarkablePage("create", CreatePage.class);
また、このように”静的なパス”で呼び出せるWebPageをwicketでは、BookmarkablePage という名称で呼んでいるようです。
**mount系メソッドの種類
mount系メソッドには、以下の3種類があります。
+単一ページの紐付け(Pathパラメーター利用)
+単一ページの紐付け(URLパラメーター利用)
+パッケージ単位の紐付け
それぞれの使い方は以下になります。
**単一ページの紐付け(Pathパラメーター利用)
mountBookmarkablePageメソッドを使います。
サンプルでは以下のようになっています。
>mountBookmarkablePage("/home", Home.class);
>
>とすると、
>
>/mekeApp/home というパスでHome ページにアクセスできます。
この方式を使った場合、WebPageクラスにパラメーターを渡す場合は、URLのパスとして値を渡します。
>例えば、param1 に meke, param2 に 100 という値を渡したい場合URLは以下のようになります。
>
>/mekeApp/home/param1/meke/param2/100/
>
また、WebPageクラス側では、パラメーターを受け取る為に PageParameters を引数にとるコンストラクタを用意しておく必要があります。
>
>public class MekePage extends WebPage{
> public MekePage(PageParameters parameters){
> ...
>
**単一ページの紐付け(URLパラメーター利用)
mountBookmarkablePageWithUrlCodingメソッドを使います。
サンプルでは以下のようになっています。。。
と思ったら、wicket 1.3(beta3)では、メソッドが無くなっている??
もしかして、サンプル古いのかな??
というわけで、一旦保留します・・・。
**パッケージ単位の紐付け
mountメソッドを使います。
このメソッドを使うと、指定したWebPageクラスと同じパッケージに含まれるページクラスを自動的にURLに紐付けることが出来ます。
楽チン!
ただし、URLの末尾にWebPageの名前が付いてしまいます。
サンプルでは以下のようになっています。
>mountBookmarkablePage("/base", PackageName.forClass(Home.class));
>
>とすると、
>
>/mekeApp/base/Home/ というパスでHome ページにアクセスできます。
>同じパッケージ内に、Friend.class というWebPageがある場合は
>/mekeApp/base/Friend/ というパスになります。
ページへのパラメーターの渡し方は、”単一ページの紐付け(Pathパラメーター利用)”の時と同じです。