Wicket の Page クラスで Page 継承のインナークラスを作成すると、
HTMLは、親ページクラス名+'$'+インナークラス名+".html" になる。
このルールを利用してタブ構成の画面を作成する時に Page クラスを
まとまりよくすることができる。
-------- 例 -----------
import java.util.ArrayList;
import java.util.List;
import org.apache.wicket.extensions.ajax.markup.html.tabs.AjaxTabbedPanel;
import org.apache.wicket.extensions.markup.html.tabs.AbstractTab;
import org.apache.wicket.extensions.markup.html.tabs.ITab;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.Model;
public class TabbedPage extends WebPage{
public TabbedPage(){
List<ITab> tablist = new ArrayList<ITab>();
tablist.add(new AbstractTab(new Model<String>("favorite")){
@Override
public Panel getPanel(String panelId){
return new FavoriteTabPanel(panelId);
}
}
);
tablist.add(new AbstractTab(new Model<String>("A")){
@Override
public Panel getPanel(String panelId){
return new ATabPanel(panelId);
}
}
);
tablist.add(new AbstractTab(new Model<String>("K")){
@Override
public Panel getPanel(String panelId){
return new KTabPanel(panelId);
}
}
);
add(new AjaxTabbedPanel("tablist",tablist));
}
private class FavoriteTabPanel extends Panel{
public FavoriteTabPanel(String id){
super(id,title);
}
}
private class ATabPanel extends Panel{
public ATabPanel(String id){
super(id,title);
}
}
private class KTabPanel extends Panel{
public KTabPanel(String id){
super(id);
}
}
}
--------------------------------------------
TabSample.html の中、
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"">http://www.w3.org/TR/html4/loose.dtd">
<html xmlns:wicket="">http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
<body>
<div wicket:id="tablist" class="tabpanel"></div>
</body>
</html>
--------------------------------------------
TabSample$FavoriteTabPanel.html
TabSample$ATabPanel.html
TabSample$KTabPanel.html
というファイル名でHTMLを用意して中は以下のように、、
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"">http://www.w3.org/TR/html4/loose.dtd">
<html xmlns:wicket="">http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
<wicket:panel>
:
</wicket:panel>
</html>