Bootstrap JSP页面实践:实现表格值匹配下的高亮显示

0 下载量 154 浏览量 更新于2024-09-01 收藏 56KB PDF 举报
"Bootstrap制作JSP页面,实现根据值让表格显示选中状态" 在Web开发中,Bootstrap是一个广泛使用的前端框架,它提供了一套美观且响应式的UI组件,简化了网页设计工作。本示例将介绍如何使用Bootstrap来创建一个JSP页面,并通过JavaScript或者服务器端逻辑来实现表格(table)中的行根据特定值显示为选中状态。 首先,我们需要在JSP页面中引入Bootstrap的相关资源。这通常包括CSS样式表和JavaScript库。在提供的代码片段中,我们看到`<%@include file="/views/resource.jsp"%>`,这可能包含了对Bootstrap库的引用。通常,资源文件会包含像下面这样的链接: ```html <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> ``` 接下来,我们创建一个Bootstrap的表格。在JSP页面中,`<table>`元素使用了`table`类,并添加了`data-toggle="table"`属性,这使得表格具备Bootstrap的Table插件功能。表格的头部(thead)包含了一个带有复选框的列(th),用于全选和取消全选操作。例如: ```html <table class="table" id="tableUser" data-toggle="table"> <thead> <tr> <th data-field='select' data-checkbox="true"></th> <th data-field="name">用户名称</th> <th data-field="login_name">登录名称</th> </tr> </thead> </table> ``` 要根据值让表格显示选中状态,有以下两种方法: 1. 客户端处理:利用JavaScript或jQuery,根据数据源(如AJAX返回的结果)动态设置表格行的选中状态。例如,你可以遍历数据,找到匹配的行并添加`.active`类,使得行显示为选中状态: ```javascript // 假设data是一个包含用户信息的对象数组 $.each(data, function(index, user) { if (user.isSelected) { // 假设isSelected属性表示该行是否应被选中 $('#tableUser tbody').append('<tr class="active"><td></td><td>' + user.name + '</td><td>' + user.login_name + '</td></tr>'); } else { $('#tableUser tbody').append('<tr><td></td><td>' + user.name + '</td><td>' + user.login_name + '</td></tr>'); } }); ``` 2. 服务器端处理:在服务器端生成HTML时,根据业务逻辑判断哪些行应该显示为选中。例如,在JSP页面中,你可以使用`<c:if>`或EL表达式来决定是否添加`.active`类: ```jsp <c:forEach items="${users}" var="user"> <tr<c:if test="${user.isSelected}"> class="active"</c:if>> <td></td> <td>${user.name}</td> <td>${user.login_name}</td> </tr> </c:forEach> ``` 在这个示例中,`<c:forEach>`用于迭代用户列表,`<c:if>`检查`isSelected`属性,如果为真,则添加`.active`类。 最后,页面中还包含了两个按钮(`id="addUser"`和`id="delUser"`),它们可能用于添加新用户和删除已选用户的功能。这些功能可以通过绑定事件监听器来实现,比如使用jQuery的`click`方法: ```javascript $('#addUser').click(function() { // 添加新用户的逻辑 }); $('#delUser').click(function() { var selectedRows = $('#tableUser').bootstrapTable('getSelections'); // 删除已选用户的逻辑,selectedRows包含所有选中的行数据 }); ``` 这个示例展示了如何使用Bootstrap和JSP创建一个表格,以及如何根据值设置表格行的选中状态。结合服务器端和客户端的处理,可以实现灵活的数据展示和交互。