BootstrapTable,选中某几行,获取其数据并进行后台处理。以及其他的属性使用。

1、首先将复选框搞出来,<table data-single-select="true"> 属性,限制了只能单选。去除以后添加<th data-checkbox="true"></th>就可以添加复选框的功能了。 所以将复选框搞出来以后,就开始将获取到选择的数据值了。

 1 <table id="table" class="base_viewTable" data-toggle="table"
 2     data-locale="zh-CN" data-ajax="tableRequest"
 3     data-side-pagination="server" data-striped="true"
 4     data-single-select="true" data-click-to-select="true"
 5     data-pagination="true" data-pagination-first-text="首页"
 6     data-pagination-pre-text="上一页" data-pagination-next-text="下一页"
 7     data-pagination-last-text="末页">
 8     <thead style="text-align: center;">
 9         <tr>
10             <th data-checkbox="true"></th><!--复选框-->
11             <th data-field="id" data-formatter="indexFormatter" data-width="40" data-halign="center" data-align="center">序号</th>
12             <th data-field="alias" data-halign="center" data-align="center">别名</th>
13             <th data-field="name" data-halign="center" data-align="center">名称</th>
14             <th data-field="paramter" data-halign="center" data-align="center"  data-width="100">参数</th>
15             <th data-field="status" data-formatter="statusFormatter" data-halign="center" data-align="center" data-halign="center"  data-width="80">状态</th>
16             <th data-field="updateTime" data-formatter="timeFormatter" data-halign="center" data-align="center"  data-width="130">时间</th>
17             <th data-formatter="optFormatter" data-halign="center" data-align="center" data-width="110">操作</th>
18         </tr>
19     </thead>
20 </table>

效果图:

其他属性简单使用介绍:

更多其他属性,用的时候直接查看参考https://blog.csdn.net/liushuiziyouliu/article/details/80988458。此网友写的以及很详细了,这里不重复转载了。

<table data-single-select="true"> 属性,限制了只能单选。去除以后添加<th data-checkbox="true"></th>就可以添加复选框的功能了。
<table data-click-to-select="true">属性,单机每一行,可以选中行首的单选框或者复选框哦。
<th data-checkbox="true"></th>属性,复选框。可以进行批量操作哦。默认false不显示checkbox(复选框),设为true则显示,checkbox的每列宽度已固定。
<th data-radio="true"></th>属性,单选框,可以进行单条数据操作。默认false不显示radio(单选按钮),设为true则显示,radio宽度是固定的。
<th data-field="id"></th>属性,是每列的字段名,不是表头所显示的名字,通过这个字段名可以给其赋值,相当于key,表内唯一。
<th data-halign="center"></th>属性,table header(表头)的对齐方式,有:left(靠左)、right(靠右)、center(居中)。
<th data-align="center"></th>属性。每格内数据的对齐方式,有:left(靠左)、right(靠右)、center(居中)。
<th data-width="100"></th>属性。每列的宽度。详细参考https://blog.csdn.net/liushuiziyouliu/article/details/80988458。
其他属性,用的时候直接查看参考https://blog.csdn.net/liushuiziyouliu/article/details/80988458。此网友写的以及很详细了,这里不重复转载了。

2、使用js处理获取到的复选框数据,然后使用ajax将数据传递给struts的action。

 1 function selectTen(){
 2     //获取到本页选择的十条数据,使用getSelections即可获得,row是json格式的数据
 3     var getSelectRows = $("#jobTable").bootstrapTable('getSelections', function (row) {
 4           return row;
 5     });
 6     //console.log(getSelectRows);//控制台打印输出,方便观察值
 7     var ids = new Array();//定义js数组用于存放自己所需的值
 8     for(var i=0;i<getSelectRows.length;i++){
 9         ids[i] = getSelectRows[i].id;
10     }
11     //将表单元素数组或者对象序列化,是.serialize()的核心方法
12     var params = $.param({'ids' : ids},true);
13     //console.log(ids);//控制台打印输出,方便观察值
14     BootstrapDialog.show({
15         title : '批量操作确认提示',
16         message : '确定批量操作记录吗?',
17         buttons : [
18                 {
19                     cssClass : "btn-info",
20                     label : '批量操作',
21                     action : function(dialog) {
22                         $.ajax({
23                             type : 'post',
24                             url : "xxxAction!xxxAllForever.action",
25                             dataType : 'json',
26                             traditional : true,
27                             data : params,//将表单元素数组或者对象序列化的数组值传递到后台。
28                             async : false,
29                             error : function(request, textStatus,
30                                     errorThrown) {
31                                 fxShowAjaxError(request, textStatus,
32                                         errorThrown);
33                             },
34                             success : function(data) {
35                                 dialog.close();
36                                 $.alert(data.result);
37                                 searchJob();
38                             }
39                         });
40                     }
41                 }, {
42                     cssClass : "base_btn-bluecyan",
43                     label : '关闭',
44                     action : function(dialog) {
45                         dialog.close();
46                     }
47                 } ]
48     });
49 }

3、由于公司框架还是使用的struts,所以在action里面定义一个private ArrayList<Integer> ids;变量。 Action中List的定义: 通过使用param方法的处理,在action中ids的类型不管是数组还是list都能够正确的接收到这些id了。 ps:一定不要忘了setter方法! 我习惯性加的setter和getter方法。

private ArrayList<Integer> ids;
public ArrayList<Integer> getIds() {
    return ids;
}
public void setIds(ArrayList<Integer> ids) {
    this.ids = ids;
}

public String xxxAllForever() {
    //System.out.println(ids);
    String result = null;
    if(ids.size() > 0) {
        for(int i=0;i<ids.size();i++) {
            result = xxxService.stopxxx(ids.get(i));
        }
    }
    dataMap.put("result", result);
    return SUCCESS;
}

待续......

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java架构筑基

优秀的Java程序员必须掌握的8项代码编程技巧!

Java是目前最流行的编程语言之一——它可以用来编写Windows程序或者是Web应用,移动应用,网络程序,消费电子产品,机顶盒设备,它无处不在。

12600
来自专栏有困难要上,没有困难创造困难也要上!

基于Struts2的war包在WebLogic上部署找不到Action问题及解决办法

Struts2的工程,使用了Convention Plugin,在eclipse里测试的时候可以运行,但是部署到WebLogi中时报错找不到Action。

7630
来自专栏慕容千语的架构笔记

Javaweb开发学习路线及Java三大框架

Java web开发,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java ap...

37110
来自专栏Java学习资料

Java编程初学者应该了解的编程框架

动力节点Java培训最新上线Java实验班,等你来测试自己适不适合学习Java编程哦!

9800
来自专栏浩Coding

Java EE实用教程笔记----(6)第六章 Struts 2综合应用案例

本章主要内容是结合前面所学的Struts2框架知识,编写一个简单的借书系统的实例,其实这些主要是JavaWeb的知识,用Struts2开发而已,基础比较扎实的同...

8320
来自专栏Golang开发

JavaWeb——Struts2

Struts2是一个基于MVC设计模式web应用框架,在webwork框架技术基础上,Strurts2核心是拦截器,Struts2框架的核心功能都依靠拦截器实现...

11830
来自专栏浩Coding

2019Java面试宝典 -- JavaWeb框架篇

1、Struts2 是类级别的拦截,一个类对应一个 request 上下文,SpringMVC 是方法级别的拦截,一个方法对应一个 request 上下文,而方...

34640
来自专栏一点博客

SpringMVC-易于同其它View框架无缝集成

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 ...

9620
来自专栏Java后端技术栈cwnait

设计模式---命令模式

命令模式很好理解,举个例子,司令员下令让士兵干件事情,从整个事情的角度来考虑,司令员的作用是,发出口令,口令经过传递,传到了士兵耳朵里,士兵去执行。这个过程好在...

6720

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励