- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Javaweb使用thymeleaf局部刷新结合Layui插件实现Html分页由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
最近个人在做开发的时候,需要实现前端的Html页面分页。由于好一段时间没写前端的代码了,有些生疏了。现就实践成果,做下记录与分享! 。
后端:SpringBoot、Thymeleaf 。
前端:Html、Jquery、Layui插件 。
html页面代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
<
html
lang
=
"zh-cn"
xmlns:th
=
"http://www.thymeleaf.org"
xmlns:shiro
=
"http://www.thymeleaf.org/thymeleaf-extras-shiro"
>
...
<
table
class
=
"table table-hover text-center"
id
=
"refreshList"
th:fragment
=
"refreshList"
>
<
tr
>
<
th
width
=
"100"
style
=
"text-align:left; padding-left:20px;"
>ID</
th
>
<
th
width
=
"10%"
>景点名称</
th
>
<
th
width
=
"10%"
>图片</
th
>
<
th
>景点类型</
th
>
<
th
>门票价格</
th
>
<
th
>景点负责人</
th
>
<
th
width
=
"10%"
>创建时间</
th
>
<
th
width
=
"20%"
>操作</
th
>
</
tr
>
<
tr
th:each
=
"view : ${viewList}"
>
<
td
style
=
"text-align:left; padding-left:20px;"
><
input
type
=
"checkbox"
name
=
"id"
value
=
""
/></
td
>
<
td
th:text
=
"${view.viewTitle}"
></
td
>
<
td
><
img
th:src
=
"${'/upload/img/'+view.pictureUrl}"
alt
=
""
width
=
"100"
height
=
"70"
/></
td
>
<
td
th:switch
=
"${view.type}"
>
<
span
th:case
=
"1"
>收费</
span
>
<
span
th:case
=
"2"
>免费</
span
>
</
td
>
<
td
th:text
=
"${view.price == null or view.price == '' ? '暂无' : view.price}"
></
td
>
<
td
th:text
=
"${view.manager}"
></
td
>
<
td
th:text
=
"${#dates.format(view.createTime,'yyyy-MM-dd HH:mm:ss')}"
></
td
>
<
td
><
div
class
=
"button-group"
> <
a
class
=
"button border-main"
th:href
=
"${'/view/edit.do?viewId='+view.id}"
rel
=
"external nofollow"
><
span
class
=
"icon-edit"
></
span
> 修改</
a
> <
a
class
=
"button border-red"
href
=
"javascript:void(0)"
rel
=
"external nofollow"
th:onclick
=
"del([[${view.id}]])"
><
span
class
=
"icon-trash-o"
></
span
> 删除</
a
> </
div
></
td
>
</
tr
>
</
table
>
|
Js代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
<script src=
"/js/jquery.js"
></script>
<script type=
"text/javascript"
src=
"/layui/layui.js"
></script>
<script type=
"text/javascript"
src=
"/layui/layui.all.js"
></script>
...
//分页
layui.use(
'laypage'
,
function
() {
var
laypage = layui.laypage;
var
total = 0;
var
limit = 6;
//获取列表总数量
$.ajax({
url:
'/view/count.do'
,
type:
'POST'
,
dataType:
'json'
,
async:
false
,
success:
function
(data) {
if
(data !=
null
){
total = data;
}
}
});
//执行一个laypage实例
laypage.render({
elem:
'pageDiv'
,
//注意,这里的 pageDiv 是 ID,不用加 # 号
count: total,
//数据总数,从服务端得到
limit: limit,
//页面展示数据条数
theme:
'33ccff'
,
//主题样式
jump:
function
(obj, first) {
if
(!first) {
$.ajax({
url:
'/view/list.do'
,
type:
'POST'
,
data: {
'pageSize'
: obj.limit,
'pageIndex'
: obj.curr},
success:
function
(data) {
if
(data !=
null
) {
$(
"#refreshList"
).html(data);
}
}
});
}
}
});
});
|
后端接口:
1
2
3
4
5
6
7
8
9
|
@PostMapping
(
"/list.do"
)
public
String getList(PageBean pageBean, Model model){
if
(Objects.isNull(pageBean)) pageBean =
new
PageBean();
pageBean.setPageIndex((pageBean.getPageIndex()-
1
)*pageBean.getPageSize());
List<View> viewList = viewService.getList(pageBean);
model.addAttribute(
"viewList"
,viewList);
//viewList是html页面名称,refreshList是html页面内定义的元素名称,在html页面内可以看到
return
"viewList::refreshList"
;
}
|
这里说明一下,初次进入页面的时候,我这边使用的是另外一个GET类型的请求获取的数据,跟上面的POST请求接口几乎一样.
通过Layui的分页插件代码,点击上下页的时候,调用上面JS中的代码。并获取Layui当前的分页的参数,请求后端列表接口。然后通过thymeleaf的 。
1
|
th:fragment=
"refreshList"
|
将后端返回的数据,局部刷新到Html指定元素中。。。从而实现局部刷新的分页实现!!! 。
。
到此这篇关于Javaweb使用thymeleaf局部刷新结合Layui插件实现Html分页的文章就介绍到这了,更多相关Javaweb Html分页内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。
原文链接:https://blog.csdn.net/yy339452689/article/details/119738757 。
最后此篇关于Javaweb使用thymeleaf局部刷新结合Layui插件实现Html分页的文章就讲到这里了,如果你想了解更多关于Javaweb使用thymeleaf局部刷新结合Layui插件实现Html分页的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我们知道,当使用 hibernate 对数据库进行批量更新时(即使在 HQL 中),所做的更改不会复制到存储在当前 session 中的实体。 所以我可以调用 session.refresh 来加载对
我正在做一个项目,所有的东西都保存在事件中,所以服务器需要一些时间来响应新数据。我正在使用 Fluent 等待使用 ajax 的页面,但是这个不使用任何 ajax。所以我想刷新页面检查是否有新项目,如
我有一个从 Vector 创建的 JTable。 如何刷新 JTable 以显示添加到 Vector 的新数据? 最佳答案 当 TableModel 发生更改时,您的 JTable 应该会自动更新。我
有没有办法使用下面的代码来刷新已经存在的 div id,而不是刷新时间? window.onload = startInterval; function startInterval() {
我更新了在 Shiny Server 上运行的 Shiny 应用程序使用的 DataSet.RData。但是, Shiny 的应用程序仍在旧数据上运行。我已通过浏览器历史记录清除并重新启动浏览器几次,
我的应用程序中有一个无限滚动的网格面板(ExtJs 4.2.1),类似于 this example .用户可以单击刷新按钮,然后必须使用数据库中的数据更新网格的行。我在刷新按钮处理程序中调用 stor
我不知道这三种方法中哪一种最适合我。他们都为我工作。有谁知道刷新、更新和重画之间的区别吗? 最佳答案 根据在线文档: Refresh - 重新绘制屏幕上的控件。 Call Refresh method
有什么办法吗 ICollectionView.Refresh() 或者 CollectionViewSource.GetDefaultView(args.NewValue).Refresh(); 在
这个问题已经有答案了: Updating address bar with new URL without hash or reloading the page [duplicate] (4 个回答)
我有一个 javascript 设置超时以在 10 秒后关闭 div,并且我想在 div 关闭时添加页面刷新。我正在使用的代码如下。 var container_close_sec = "1
我有一组具有以下名称的页面.... update1.php update2.php update3.php update4.php update5.php update6.php update7.ph
如果是则触发js函数。我可以使一个复选框保持选中状态,并在页面刷新时检查值并选中“checked”,并提交以下内容... checked="checked" /> 你都不记得触发js函数。 这是我的
我正在尝试刷新 php 脚本以在数据库更新时显示更新的内容。我首先构建了我的 php,然后刷新代码,然后合并它们。但是,脚本不会更新。有谁知道为什么吗? $(document).ready
当我要删除的节点扩展集合类型时,Grails中有一个错误阻止我使用removeFrom *。直接从关联中删除节点不会更新二级缓存。 A hasMany B 有什么方法可以使关联缓存手动无效或强制重新加
我正在使用 hibernate 和 mysql 来抽象一个数据库,以便在 java 驱动的网站中使用。我使用 hibernate 很好地解决了所有查询,但似乎无法弄清楚如何使用它进行更新、插入和删除,
如何通过调用 oncreateview 方法重新创建 fragment ?我有一个 fragment ,用于通过表单插入新数据,单击按钮后,我想通过删除在 EditText 中输入的数据来重新创建 f
当我从一个到另一个时,我试图刷新我的观点。我知道我应该将刷新代码放在 viewWillAppear 中,但我不知道该放什么代码。 你们能帮帮我吗? 谢谢! 最佳答案 在您看来,请调用 setNeeds
我正在开发 iPhone 应用程序并希望使用: CFStreamCreatePairWithSocketToHost(NULL, url, port, &serverReadStream, &serv
看到我已经创建了一个用于登录用户的脚本。而且我还添加了设置选项卡,以便用户可以编辑他们的设置!但是当我尝试它时,mysql 表中的数据发生了变化,但配置文件中显示的用户名和用户电子邮件保持不变!当我注
好的。这就是它的样子。 当我启动应用程序时,我从服务器收到的第一件事是数据: {name: "test", type: "checkbox" checked: true, } 这使得其中一个复选框
我是一名优秀的程序员,十分优秀!