jQuery mobile ページ遷移 Wicket ListView (1)

jQuery mobile Wicket で、data-role ページ遷移を表現するのに、ListView で、Panel
展開させたら jQuery mobile +Wicket のパターンとして使い回せると思った。
(2回に分けて投稿)

<wicket:panel>
<div wicket:id="roleview" data-role="page" data-theme="b">
   <div wicket:id="header"></div>

   <div wicket:id="roleHeader" data-role="header" data-theme="a">
      <a wicket:id="hprev" href="#" data-role="button" data-rel="back"
         data-inline="true" data-icon="arrow-l" data-theme="b">Prev</a>
      <h2><a wicket:id="title" rel="external" 
             style="color: #FFFFFF; text-decoration:none;" href="#">Title</a>
      </h2>
      <a wicket:id="hnext" href="#" data-role="button" 
         data-inline="true" class="ui-btn-right" data-icon="arrow-r" data-theme="b">Next</a>
   </div>

   <div wicket:id="content" data-role="content"></div>

   <div wicket:id="roleFooter" data-role="header" data-theme="a">
      <a wicket:id="fprev" href="#" data-role="button" data-rel="back"
         data-inline="true" data-icon="arrow-l" data-theme="b">Prev</a>
      <h2></h2>
      <a wicket:id="fnext" href="#" data-role="button" 
         data-inline="true" class="ui-btn-right" data-icon="arrow-r" data-theme="b">Next</a>
   </div>

   <div wicket:id="footer"></div>
</div>
</wicket:panel>

この HTML に対する Panel クラスの説明の前に wicket:id="roleview" が、
展開する ListView に渡すコンテンツ表示用のPanel を紹介する
内容は簡単で、Panel を継承して、data-role 属性値、content を設定するだけ

import org.apache.wicket.AttributeModifier;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
/**
 * ContentPanel.java
 */

public class ContentPanel extends Panel{
   public ContentPanel(String id){
      super(id);
      add(new AttributeModifier("data-role","content"));
   }
   public ContentPanel(String id,IModel<?> model){
      super(id,model);
      add(new AttributeModifier("data-role","content"));
   }
}

表示するページのコレクション、List<ContentPanel> を渡して、上のHTML で
ListView として展開する。その時のページ遷移リンク先の制御、
div の id 属性値と、href 属性値の指定を、ListView 呼び出しで意識させないように
することが今回の重要な目的の1つである。
続きは、こちら、