WebWork Revolutions!
MLより。今宵、beta2のリリース計画が立てられるそうです。
From: "Patrick Lightbody"
Subject: RE: [OS-webwork] WW2 RC?We're planning on release beta 2 (which will be the RC) tonight. Thanks
to everyone for all their help!
[WebWork2]カスタムUIコンポーネントはすごい!
WebWork2 + Hibernate + Velocity + SiteMeshという組み合わせで、
バグ管理アプリ「Tapirus」を作っています。
そのバグやユーザの一覧のページング機能([前へ] 1 2 3 4.. [次へ]のようなページめくりのことです)を
WebWork2のカスタムUIコンポーネントで作ってみました。
カスタムUIコンポーネント、素晴らしいです。
本当に、再利用性のあるUI部品が簡単に作れます。
ソースの抜粋はこちらです。(Velocityバージョンです)
カスタムUIコンポーネントの呼び出し元(ListIssue.vm)
カスタムUIコンポーネント(paging.vm)
#bodytag( Component "template=paging.vm" "value=paging")
#param( "url" "'ListIssue.jspa'" )
#param( "prefix" "'paging.'" )
#end
ちなみに、Actionクラスには
#set ( $page = $tag.ActualValue )
#set ( $url = $tag.Params.get('url') )
#set ( $prefix = $tag.Params.get('prefix') )#if($page.total > 0)
#if( $page.hasPrev() )
<a href="$!{url}?${prefix}offset=$page.prev">
[$action.getText('label.prev')]
</a>
#end
#foreach($item in [1..$page.pageCount])
#if( $item != $page.page)
#set( $pos = ($item - 1) * $page.max)
<a href="$!{url}?${prefix}offset=$pos">
$item
</a>
#else
$item
#end
#end
#if( $page.hasNext() )
<a href="$!{url}?${prefix}offset=$page.next">
[$action.getText('label.next')]
</a>
#end
<br>
${page.page}/${page.pageCount}
(${page.first}-${page.last}/${page.total})
#else
$action.getText('label.notMatch')
#end
public Paging getPaging();
というゲッターメソッドがあります。