私は実際にSpring3MVCを使用しPagedListHolder
ており、サービスレイヤーからメソッドを渡して、次のようにDBテーブルからすべての行を取得することでページネーションを使用してデータを一覧表示しています。
PagedListHolder myList = new PagedListHolder(myService.getAll());
そしてこれは私のコントローラーコードです:
public class MyListController implements Controller {
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
String page = request.getParameter("page");
MyService myService = new MyService();
PagedListHolder myList = new PagedListHolder(myService.getAll());
myList.setPageSize(5);
if ("next".equals(page)) {
myList.nextPage();
}
else if ("previous".equals(page)) {
myList.previousPage();
}
ModelAndView modelAndView = new ModelAndView("myList");
modelAndView.addObject("myList", myList.getPageList());
return modelAndView;
}
}
したがって、これは完璧に機能していますが、キーワードを使用して検索を行いたいと思います。通常の方法では、たとえば次のようなレイヤーでメソッドをmyList
実装できます。DAO
Service
...
String keyword = request.getParameter("keyword");
PagedListHolder myList = new PagedListHolder(myService.findByWord(keyword));
...
この時点myList
で、私のキーワードに一致するDBからすべての行が返されます。
私が知りたいのは、myList
(メソッドを使用してmyService.getAll();
、おそらくから他のメソッドを使用して)から検索し、上記の例で使用したような余分なメソッドを作成しないようにレイヤーをPagedListHolder
変更しないようにする方法があるかどうかです。DAO
Service
前もって感謝します。