HTML の <a> タグに対応しますがそれだけでなく onclick イベントハンドラが使えるタグで有効です。まずは <a> タグの場合
<a wicket:id="page1Link" href="dummy">Page1</a>
add(new Link("page1Link") { @Override public void onClick() { setResponsePage(Page1.class); } });これでクリックすると onClick() の中が実行されます。この場合は Page1 に遷移します。 <a> タグ以外でも onclick イベントハンドラが使えるタグならよくて、たとえば
<p wicket:id="page1Link">Page1</p>としておくと下記のようにレンダリングされ、クリックすると <a> タグと同じように動作します。 (折り返していますが実際は 1 行)
<p onclick="location.href='/test/app?path=0:page1Link&interface=ILinkListener';">Page1</p>
Page へのリンクです。引数に Page のクラスを渡して生成します。
add(new PageLink("page1Link", Page1.class));IPageLink を渡してページ生成をカスタマイズすることも可能です。
add(new PageLink("page1Link", new IPageLink() { public Class getPageIdentity() { return Page1.class; } public Page getPage() { return new Page1("param1", 2, obj); } }));
ブックマーク可能な URL を生成するクラスです。前述の Link を含め Wicket では基本的にリンクはそのセッションでのみ有効ですが、それに対し BookmarkablePageLink ではセッションがなくても有効な URL を生成します。
使い方は PageLink と同様に Page クラスを渡します。
add(new BookmarkablePageLink("page1Link", Page1.class));生成される URL は
/test/app?bookmarkablePage=my.Page1のように bookmarkablePage=<ページ> となります。
外部ページへのリンクです。<a> タグにのみ適用できます。
(使用例)
add(new ExternalLink("googleLink", "http://www.google.com"));
コメントをかく