码迷,mamicode.com
首页 > 编程语言 > 详细

Bootstrap Table SpringMVC基本功能实现

时间:2015-11-24 12:38:05      阅读:367      评论:0      收藏:0      [点我收藏+]

标签:

  • 首先是版本介绍
<前端>bootstrap.min.css 3.2.0,bootstrap.min.js 3.2.0,jquery 1.11.3,modal.js 3.2.0,bootstrap-table.js 1.3.0;
<后台>Spring MVC 4.1.5
  • 这里是前端代码

bootstrap-table.jsp

 

技术分享
  1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2 <%@ page contentType="text/html;charset=utf-8" language="java" %>
  3 <%@page isELIgnored="false" %>
  4 <html lang="zh-CN">
  5 <head>
  6     <!--bootstrap.min.css 3.2.0
  7         bootstrap.min.js 3.2.0
  8         jquery 1.11.3
  9         ...
 10      -->
 11     <title>data list</title>
 12     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 13     <link href="/ghgh/mycss/bootstrap.min.css" rel="stylesheet" media="screen">
 14     <link href="/ghgh/mycss/bootstrap-datetimepicker.min.css" rel="stylesheet" media="screen">
 15     <link href="/ghgh/mycss/bootstrapValidator.min.css" rel="stylesheet" media="screen">
 16     <link href="/ghgh/mycss/bootstrap-table.min.css" rel="stylesheet" media="screen">
 17 
 18     <script type="text/javascript" src="/ghgh/myjs/modal.js"></script>
 19 </head>
 20 <style type="text/css">
 21     .ml10 {
 22         margin-left: 10px;
 23     }
 24 </style>
 25 <body>
 26 <script type="text/javascript">
 27 </script>
 28 <div class="container">
 29     <div class="alert alert-success" role="alert">
 30         <a href="#" class="alert-link">${logStr}</a>
 31     </div>
 32     <!-- toolbar-->
 33     <div id="toolbar" class="btn-group">
 34         <button type="button" class="btn btn-default" id="save">
 35             <i class="glyphicon glyphicon-plus"></i>
 36         </button>
 37         <button type="button" class="btn btn-default">
 38             <i class="glyphicon glyphicon-trash"></i>
 39         </button>
 40     </div>
 41     <!-- table list-->
 42     <table id="table"
 43            data-toggle="table"
 44            data-height="550"
 45            data-url="/ghgh/workSync/getJson.action"
 46            data-search="true"
 47            data-pagination="true"
 48            data-show-refresh="true"
 49            data-show-toggle="true"
 50            data-show-columns="true"
 51            data-striped="true"
 52            data-toolbar="#toolbar">
 53         <thead>
 54         <tr>
 55             <th data-field="N_ID">ID</th>
 56             <th data-field="VC_NAME">NAME</th>
 57             <th data-field="VC_LIKE">LIKE</th>
 58             <th data-field="VC_NOTE">NOTE</th>
 59             <th data-field="N_ID" data-events="actionEvents" data-formatter="actionFormatter">ACTION</th>
 60         </tr>
 61         </thead>
 62     </table>
 63     <!-- table list-->
 64 
 65     <!-- edit modal-->
 66     <div id="myModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
 67         <div class="modal-dialog" role="document">
 68             <div class="modal-content" id="content">
 69                 <div class="modal-header">
 70                     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
 71                             aria-hidden="true">&times;</span></button>
 72                     <h4 class="modal-title" id="exampleModalLabel">Edit Data</h4>
 73                 </div>
 74                 <div class="modal-body" id="editBody">
 75                 </div>
 76             </div>
 77         </div>
 78     </div>
 79     <!-- edit modal-->
 80     <!-- save modal-->
 81     <div id="saveModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
 82         <div class="modal-dialog" role="document">
 83             <div class="modal-content" id="content1">
 84                 <div class="modal-header">
 85                     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
 86                             aria-hidden="true">&times;</span></button>
 87                     <h4 class="modal-title" id="exampleModalLabel1">Edit Data</h4>
 88                 </div>
 89                 <div class="modal-body" id="editBody1">
 90                 </div>
 91             </div>
 92         </div>
 93     </div>
 94     <!-- save modal-->
 95 </div>
 96 <script type="text/javascript" src="/ghgh/myjs/jquery-1.11.3.min.js" charset="UTF-8"></script>
 97 <script type="text/javascript" src="/ghgh/myjs/bootstrap.min.js"></script>
 98 <script type="text/javascript" src="/ghgh/myjs/bootstrap-datetimepicker.min.js" charset="UTF-8"></script>
 99 <script type="text/javascript" src="/ghgh/myjs/bootstrapValidator.min.js" charset="UTF-8"></script>
100 <script type="text/javascript" src="/ghgh/myjs/locales/bootstrap-datetimepicker.zh-CN.js"
101         charset="UTF-8"></script>
102 
103 <script type="text/javascript" src="/ghgh/myjs/bootstrap-table.js"></script>
104 <script type="text/javascript" src="/ghgh/myjs/bootstrap-table-export.js"></script>
105 <script type="text/javascript" src="/ghgh/myjs/tableExport.js"></script>
106 <script type="text/javascript" src="/ghgh/myjs/jquery.base64.js"></script>
107 <script type="text/javascript">
108     $(document).ready(function () {
109         $("#save").on(‘click‘, function () {
110             $("#editBody1").load("/ghgh/workSync/edit.action?id=null", function (response, status, xhr) {
111                 $("#saveModal").modal(‘show‘);
112             });
113         });
114     });
115 </script>
116 <script>
117     function actionFormatter(value, row, index) {
118         return [
119             ‘<a class="edit ml10" href="javascript:void(0)" title="Edit">‘,
120             ‘<i class="glyphicon glyphicon-edit"></i>‘,
121             ‘</a>‘,
122             ‘<a class="remove ml10" href="javascript:void(0)" title="Remove">‘,
123             ‘<i class="glyphicon glyphicon-remove"></i>‘,
124             ‘</a>‘
125         ].join(‘‘);
126     }
127 
128     window.actionEvents = {
129         ‘click .edit‘: function (e, value, row, index) {
130             //edit
131             var id = value;
132             $("#editBody").load(‘/ghgh/workSync/edit.action?id=‘ + id, function (response, status, xhr) {
133                 $(‘#myModal‘).modal(‘show‘);
134             });
135         },
136         ‘click .remove‘: function (e, value, row, index) {
137             //remove
138             if (confirm("You sure remove it?")) {
139                 $.ajax({
140                     type: "POST",
141                     url: "/ghgh/workSync/remove.action",
142                     data: {id: value}
143                 }).done(function (msg) {
144                     if (msg == 1) {
145                         alert("Data Removed Success");
146                         $(‘#table‘).bootstrapTable(‘refresh‘);
147                     } else {
148                         alert("Data Removed Error");
149                     }
150                 });
151             }
152         },
153     };
154 </script>
155 </body>
156 </html>
View Code

 

edit.jsp

 1 <%@ page contentType="text/html;charset=utf-8" language="java" %>
 2 <%@page isELIgnored="false" %>
 3 <form class="form-horizontal" role="form" action="/ghgh/workSync/edited.action" method="post">
 4     <div class="form-group hide">
 5         <label for="id" class="col-sm-2 control-label">ID</label>
 6 
 7         <div class="col-sm-10">
 8             <input type="text" class="form-control" id="id" name="id" value="${map.N_ID}"/>
 9         </div>
10     </div>
11     <div class="form-group">
12         <label for="name" class="col-sm-2 control-label">NAME</label>
13 
14         <div class="col-sm-10">
15             <input type="text" class="form-control" id="name" name="name" value="${map.VC_NAME}"/>
16         </div>
17     </div>
18     <div class="form-group">
19         <label for="like" class="col-sm-2 control-label">LIKE</label>
20 
21         <div class="col-sm-10">
22             <input type="text" class="form-control" id="like" name="like" value="${map.VC_LIKE}"/>
23         </div>
24     </div>
25     <div class="form-group">
26         <label for="note" class="col-sm-2 control-label">NOTE</label>
27 
28         <div class="col-sm-10">
29             <input type="text" class="form-control" id="note" name="note" value="${map.VC_NOTE}"/>
30         </div>
31     </div>
32     <div class="form-group">
33         <div class="col-sm-offset-2 col-sm-10">
34             <button type="submit" class="btn btn-primary">Save</button>
35             <button type="button" id="cancel" class="btn btn-default">Cancel</button>
36         </div>
37     </div>
38 </form>
39 <script type="text/javascript">
40     $(document).ready(function () {
41         $("#cancel").on(‘click‘, function () {
42             $("#myModal").modal(‘hide‘);
43 
44         });
45     });
46 </script>

 

 

  • 这里是后代代码

后台代码是Spring MVC做的,为了方便,就用一个Controller实现了,下面是代码片段

 

技术分享
 1 //这里是拉取数据列表
 2 @RequestMapping(value = "/getJson")
 3     @ResponseBody
 4     public Object test() {
 5         String sqlStr = "select * from boot t";
 6         List<Map<String, Object>> list = jdbcTemplate.queryForList(sqlStr);
 7         JSONArray jsonArray = JSONArray.fromObject(list);
 8         System.out.println(jsonArray.toString());
 9 
10         return list;
11     }
12 //这里是实现单条数据删除功能
13     @RequestMapping(value = "/remove")
14     @ResponseBody
15     public Object remove(@RequestParam String id) {
16         String sqlStr = "delete  from boot t where t.N_ID = ?";
17         int log1 = 0;
18         try {
19             log1 = jdbcTemplate.update(sqlStr, id);
20             System.out.println("log - " + log);
21         } catch (Exception ex) {
22             ex.printStackTrace();
23         }
24         return log1;
25     }
26 
27 //这里是拉取编辑需要的显示数据
28     @RequestMapping(value = "/edit")
29     @ResponseBody
30     public Object edit(@RequestParam String id) {
31         ModelAndView mv = new ModelAndView("/system/workSync/edit.jsp");
32         String sqlStr = "select *  from boot t where t.N_ID = ?";
33         Map<String, Object> list = null;
34         try {
35             if (null == id) {
36             } else {
37                 list = jdbcTemplate.queryForMap(sqlStr, id);
38                 mv.addObject("map", list);
39             }
40         } catch (Exception ex) {
41             ex.printStackTrace();
42         }
43         return mv;
44     }
45 //提交编辑的数据以及提交录入的数据
46     @RequestMapping(value = "/edited")
47     @ResponseBody
48     public Object edited(final Info info, HttpServletRequest request) {//Request Object use @RequestBody, not @RequestParam
49         info.toString();
50 
51         String id = info.getId();
52         String sqlStr = "update boot t set t.VC_NAME=?,VC_LIKE=?,VC_NOTE=?  where t.N_ID = ?";
53         if (null == id || id.equals("")) {
54             id = String.valueOf(System.currentTimeMillis());
55             sqlStr = "INSERT INTO BOOT(VC_NAME,VC_LIKE,VC_NOTE,N_ID) VALUES (?,?,?,?)";
56         }
57         final String vcId = id;
58         ModelAndView mv = new ModelAndView("/system/workSync/bootstrap-table.jsp");
59         int logStr = 0;
60         String logString = "";
61         try {
62             logStr = jdbcTemplate.update(sqlStr, new PreparedStatementSetter() {
63                 @Override
64                 public void setValues(PreparedStatement ps) throws SQLException {
65                     ps.setString(1, info.getName());
66                     ps.setString(2, info.getLike());
67                     ps.setString(3, info.getNote());
68                     ps.setString(4, vcId);
69                 }
70             });
71             if (logStr != 0)
72                 logString = "Edit Success.";
73             else
74                 logString = "Edit Error.";
75 
76             mv.addObject("logStr", logString);
77         } catch (Exception ex) {
78             ex.printStackTrace();
79         }
80         return mv;
81     }
View Code
  • 大概的总结一下

该文章主要是围绕这bootstrap table进行简单的操作,因为本人对bootstrap也是属于新手,其中的很多功能实现可能脱离了bootstrap的实现本质,比如有些功能依赖于Jquery才能实现等等 ,主要参考网站有,

http://bootstrap-table.wenzhixin.net.cn/examples/

http://v3.bootcss.com/css/

  • 下面是效果图

技术分享

 

 

 

 

 


Bootstrap Table SpringMVC基本功能实现

标签:

原文地址:http://www.cnblogs.com/huanzei/p/4990922.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!