前提・実現したいこと
SpringBootでページネーション機能を実装したいのですが、
うまくページネーションできず、全て1画面に表示されてしまいます。
URLを「http://localhost:8080/page?page=0&size=2」
上記にしたら、表示が2つになるはずなのですが、
何も変わらずです。。。。。
デバックしてみるとパラメータに指定したpage、sizeはpageableに渡っているようなのですが、、、
ご教授お願いいたします。
該当のソースコード
必要な箇所を抜粋して掲載いたします。
↓コントローラ
java
1 @RequestMapping(value="/page", method=RequestMethod.GET) 2 public ModelAndView top(ModelAndView mav, TopNew topNew, Pageable pageable) { 3 Page<TopNew> newVideoList= topService.findNewVideo(topNew, pageable); 4 System.out.println("newVideoList" + newVideoList); 5 mav.addObject("newVideoList", newVideoList); 6 mav.setViewName("top"); 7 return mav; 8 }
↓フォーム
java
1package com.yProject01.form; 2 class TopNew { 3 private int videoId; 4 private int channelId; 5 private String videoUrl; 6 private String videoTitle; 7 private String videoDetail; 8 private String videoThumbnailUrl; 9 private int videoDetailUrl; 10 private String channelUrl; 11 private String channelNm; 12 private String channelIconUrl; 13〜〜〜〜geter、setterは省略〜〜〜〜 14} 15
↓サービス
java
1public interface TopService { 2 3 Page<TopNew> findNewVideo(TopNew topNew, Pageable pageable); 4} 5
↓サービスimple
java
1 @Override 2 public Page<TopNew> findNewVideo(TopNew topNew, Pageable pageable) { 3 4 Long newVideoListCount = topMapper.findNewVideoCount(); 5 6 List<TopNew> newVideoList = topMapper.findNewVideo(); 7 Page<TopNew> page = new PageImpl<TopNew>(newVideoList, pageable,newVideoListCount); 8 return page;
HTML
1 <div class="card-columns"> 2 <div class="card" th:each="obj : ${newVideoList}"> 3 <img th:src="${obj.videoThumbnailUrl}" class="img-thumbnail"> 4 <strong th:text="${obj.videoTitle}"></strong> 5 <br><font size="2" th:text="${obj.channelNm}"></font> 6 </div> 7 </div> 8 }
補足情報(FW/ツールのバージョンなど)
SpringBoot 2.2.4.RELEASE
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/15 10:34