読者です 読者をやめる 読者になる 読者になる

/var/log/laughingman7743.log

I thought what I'd do was, I'd pretend I was one of those deaf-mutes or should I?

Thymeleafでシンプルなページャの実装

元ネタはFlask*1スニペット*2です。
Spring Boot(Spring MVC)*3でテンプレートエンジンにThymeleaf*4を利用するので実装してみました。

ページャクラスは以下です。Javaではジェネレータが使えないのでリストを返却する形にしています。
ちょっとダサいですね。

コントローラでページャクラスのインスタンスを生成してビューに渡します。ページングのパラメータはpageでページ数を指定し、maxで取得件数を指定する形です。 この値でDB検索時にlimitoffsetを指定したデータ取得をします。

Thymeleafのマークアップは以下です。Bootstrap3*5を利用することを想定しています。 ページャクラスの変数名はpaginationとしています。

フラグメント化しているので、利用したいビューでth:replaceを利用しリプレイスをするだけです。

Javaのテンプレートエンジンと言えばVelocity*6Freemarker*7が有名ですが、Thymeleafはデザインを壊さずにロジックがかけるのでかなりオススメです。 PlayframeworkでThymeleafが使えると良いなと思ったり。。。

Enjoy!