研修覚え書き
拡張タグで一番簡単そうな
そんなわけで先にdataScrollerを。
tomahawk拡張タグ dataScroller
まず注意。
遷移したときにページャが消えるとゆー面白い状況に。
(最初の1ページ目だけは表示されてます)
某本のサンプルソースでは
そして、
for="
ほんとにこんなんで動くのか不安になるくらいにシンプル。
一番必須そうなこの要素の説明、日本語のドキュメント見当たらないんですがー。
fastStep要素、デフォルト値は10な気がする。
>>JSP部分ソース(datascrollertest.jsp) <%@ page contentType="text/html; charset=Shift_JIS"%> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> <%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> <title></title> </head> <body> <f:view> <h:panelGroup> <t:dataTable id="data" var="album" value="#{scrollerList.list}" preserveDataModel="false" rows="10" border="1"> <h:column> <f:facet name="header"><h:outputText value="id" /> </f:facet> <h:outputText value="#{album.albumId}" /> </h:column> <h:column> <f:facet name="header"> <h:outputText value="アーティスト" /> </f:facet> <h:outputText value="#{album.artist.name}" /> </h:column> <h:column> <f:facet name="header"> <h:outputText value="タイトル" /> </f:facet> <h:outputText value="#{album.title}" /> </h:column> </t:dataTable> <h:panelGrid columns="1"> <t:dataScroller id="scroll_1" for="data" fastStep="10" pageCountVar="pageCount" pageIndexVar="pageIndex" paginator="true" paginatorMaxPages="9" immediate="true"> <f:facet name="first"> <t:graphicImage url="images/arrow-first.gif" border="1" /> </f:facet> <f:facet name="last"> <t:graphicImage url="images/arrow-last.gif" border="1" /> </f:facet> <f:facet name="previous"> <t:graphicImage url="images/arrow-previous.gif" border="1" /> </f:facet> <f:facet name="next"> <t:graphicImage url="images/arrow-next.gif" border="1" /> </f:facet> <f:facet name="fastforward"> <t:graphicImage url="images/arrow-ff.gif" border="1" /> </f:facet> <f:facet name="fastrewind"> <t:graphicImage url="images/arrow-fr.gif" border="1" /> </f:facet> </t:dataScroller> </h:panelGrid> </h:panelGroup> </f:view> </body> </html>
>>バッキングビーン(ScrollerList.java)またもやほぼサンプルコピペ。 import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import javax.faces.context.FacesContext; import javax.faces.event.ActionEvent; import org.apache.myfaces.custom.datascroller.ScrollerActionEvent; import xxx.xxxxx.kensyu3.AlbumManager; public class ScrollerList { private List _list = new ArrayList(); public ScrollerList() throws SQLException { _list=new AlbumManager().tableProduct(); } public List getList() { return _list; } }
こんな感じになった。
AlbumManagerは以前作ったデータベースへのinsertやupdateをするクラス。
そのうちの全体をリスト化する部分を流用。
paginatorMaxPages="9"と指定しているのにページャが3までしかないのは
元データが23件しかないからです。
中身もサンプル用にてけとーに入れたデータなので気にしないでください…。