Nac*_*ket 56 java spring pagination servlets spring-mvc
在Spring MVC中是否有可用于分页的开箱即用,易于实现的标准分页组件/ tag-lib或代码示例?
Pas*_*ent 87
看看PagedListHolder
和其他课程 org.springframework.beans.support
.
有关示例,请参阅示例中的JPetstore,例如SearchProductsController.java
:
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
String keyword = request.getParameter("keyword");
if (keyword != null) {
if (!StringUtils.hasLength(keyword)) {
return new ModelAndView("Error", "message", "Please enter a keyword to search for, then press the search button.");
}
PagedListHolder productList = new PagedListHolder(this.petStore.searchProductList(keyword.toLowerCase()));
productList.setPageSize(4);
request.getSession().setAttribute("SearchProductsController_productList", productList);
return new ModelAndView("SearchProducts", "productList", productList);
}
else {
String page = request.getParameter("page");
PagedListHolder productList = (PagedListHolder) request.getSession().getAttribute("SearchProductsController_productList");
if (productList == null) {
return new ModelAndView("Error", "message", "Your session has timed out. Please start over again.");
}
if ("next".equals(page)) {
productList.nextPage();
}
else if ("previous".equals(page)) {
productList.previousPage();
}
return new ModelAndView("SearchProducts", "productList", productList);
}
}
Run Code Online (Sandbox Code Playgroud)
Daf*_*aff 11
我也在寻找一种方法,但没有找到任何标准组件或taglib.我认为主要是因为分页可以变得非常具体,因为你需要从数据库中分页检索你的数据(如果你使用的是Hibernate,你可以使用Criteria API轻松地做到这一点).我提出了这样的事情:
public class Pager
{
private int page;
private int results;
private String sortOrder;
private String sortColumn;
// Getters and setters
}
@Controller
public class StuffController
{
@Autowired SomeEntityService someEntityService;
@RequestMapping("/test.html", method = Method.GET)
public void getStuffPaged(@RequestParam("id") String id, Pager pager, ModelMap mm)
{
mm.addAttribute("entities", someEntityService.get(id, pager));
}
}
Run Code Online (Sandbox Code Playgroud)
如果您现在向http://domain/app/test.html?id=10&page=1&results=30&sortOrder=asc
您发出请求,将在您的请求中获取寻呼机对象.
小智 5
您听说过 Spring Data JPA 项目吗?使用 Pagable 接口有一个很好的灵活解决方案。我发现它是实现干净、无样板分页的最简单方法。在Spring Data JPA 主页上查看更多信息。
归档时间: |
|
查看次数: |
80030 次 |
最近记录: |