【发布时间】:2015-12-30 12:01:24
【问题描述】:
我正在为一组表开发一个管理界面。我需要实现列表、排序、过滤和分页等功能。
我使用 Spring Boot 作为启动器,使用 Spring Data Jpa 作为存储库。我在网上搜索了一些关于包含上述所有功能的完整解决方案的示例。我发现的内容几乎包括所有这些,但显然如果有分页和排序,则没有过滤,反之亦然。
现在我使用@ModelAttribute 将过滤器存储在会话中的应用程序对象中,但我知道现在这是一个很好的设计,因为应用程序将扩展并且变得难以维护。我还使用Page 和Pagination 进行分页,并使用Specifications 进行过滤。
我想要的是在一个请求中提交所有数据,即:搜索字段、排序字段和当前页面。当然,如果搜索字段不为空,则分页将重新初始化。
另一件事是我不想使用 jQuery 数据表,而是使用纯 HTML 和表单提交。
以下是我找到的一些教程和示例:
提前致谢
编辑包含html表单
这是我的表格和分页部分的结构:
<form method=post action=someLink>
<table> -populated from controller using Thymeleaf - </table>
<div class=pagination>
<ul> - actually this div is build using the page object returned from server -
<li><a href=link/?page=;size=;>1</a></li>
<li><a href=link/?page=;size=;>2</a></li>
<li><a href=link/?page=;size=;>3</a></li>
</ul>
</div>
</form>
如您所见,表单与我的分页 div 是分开的。当我单击页码时,将向服务器发送一个获取请求并使用存储的过滤器执行查询。当我提交表单时,不会考虑页码,因为页数可能会发生变化。
所以我的问题是如何构建表单以在一次提交中包含分页。
我正在考虑使用输入元素而不是使用输入元素,以便在服务器上我可以从中读取数据。我不知道如何提交带有可分页属性的发布请求。
谢谢
【问题讨论】:
-
没有搜索,只是分页和排序,我很喜欢这个:github.com/jpenren/thymeleaf-spring-data-dialect
-
@WimDeblauwe 搜索部分有什么更新吗?我们被困住了。
-
你试过 pkainulainen 的答案了吗?
标签: sorting pagination spring-boot spring-data-jpa