|
|
<%@page import="javabean.Common"%> // 导入Common类,提供图书馆映射等功能
|
|
|
<%@page import="java.util.TreeMap"%> // 导入TreeMap类,可能用于存储图书馆数据
|
|
|
<%@page import="java.util.HashMap"%> // 导入HashMap类,用于存储规则数据
|
|
|
<%@page import="java.util.Map"%> // 导入Map接口,用于定义存储数据的映射
|
|
|
<%@page import="java.util.ArrayList"%> // 导入ArrayList类,可能用于存储多个对象
|
|
|
<%@page import="java.sql.ResultSet"%> // 导入ResultSet类,用于处理SQL查询的结果集
|
|
|
<%@page import="java.sql.PreparedStatement"%> // 导入PreparedStatement类,用于执行SQL语句
|
|
|
<%@page import="java.sql.Connection"%> // 导入Connection类,用于数据库连接
|
|
|
<%@page import="javabean.Base"%> // 导入Base类,可能用于数据库连接和资源管理
|
|
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
|
|
pageEncoding="UTF-8"%> // 设置页面的字符编码为UTF-8
|
|
|
|
|
|
<!DOCTYPE html> // 声明文档类型为HTML5
|
|
|
<html> // 开始HTML文档
|
|
|
<head>
|
|
|
<meta charset="UTF-8"> // 设置页面字符集为UTF-8
|
|
|
<title>规则添加</title> // 页面标题设置为“规则添加”
|
|
|
<!-- layui -->
|
|
|
<link rel="stylesheet" href="../public/layui/css/layui.css"> // 引入layui框架的CSS文件,提供样式支持
|
|
|
<script src="../public/layui/layui.js"></script> // 引入layui框架的JavaScript文件,提供组件和交互功能
|
|
|
<style>
|
|
|
.layui-form{ // 自定义layui表单样式
|
|
|
margin: 10px 20px; // 设置表单的外边距
|
|
|
}
|
|
|
.layui-form-pane .layui-form-label{ // 自定义表单标签样式
|
|
|
width: 120px; // 设置表单标签的宽度
|
|
|
}
|
|
|
.layui-form-pane .layui-input-block{ // 自定义输入框块的样式
|
|
|
margin-left: 120px; // 设置输入框块的左边距
|
|
|
}
|
|
|
</style>
|
|
|
</head>
|
|
|
<body>
|
|
|
<%
|
|
|
// 获取请求参数id
|
|
|
String id = request.getParameter("id");
|
|
|
Connection connection = null; // 定义数据库连接对象
|
|
|
PreparedStatement pstmt = null; // 定义PreparedStatement对象
|
|
|
ResultSet resultSet = null; // 定义查询结果集对象
|
|
|
String sql = ""; // 初始化SQL查询语句
|
|
|
|
|
|
// 获取数据库连接
|
|
|
connection = (Connection)Base.getConnection();
|
|
|
// 设置查询规则的SQL语句
|
|
|
sql = "select * from rules where id = ?";
|
|
|
// 创建PreparedStatement对象,执行SQL查询
|
|
|
pstmt = connection.prepareStatement(sql);
|
|
|
pstmt.setString(1, id); // 设置查询条件(id)
|
|
|
// 执行查询,获取结果集
|
|
|
resultSet = pstmt.executeQuery();
|
|
|
resultSet.next(); // 移动到结果集的第一行
|
|
|
|
|
|
// 获取借书限制图书馆信息,并分割成数组
|
|
|
String[] libraryList = resultSet.getString("borrow_library").split("、");
|
|
|
// 获取图书馆信息映射
|
|
|
Map<String, String> libraryMap = Common.getLibraryMap();
|
|
|
%>
|
|
|
<form class="layui-form layui-form-pane" action=""> // 定义一个layui表单,使用layui样式
|
|
|
<input type="text" name="id" value=<%=id %> class="layui-hide"> // 隐藏的输入框,用于传递规则的id
|
|
|
<div class="layui-form-item"> // 表单项
|
|
|
<label class="layui-form-label">限制天数</label> // 表单标签“限制天数”
|
|
|
<div class="layui-input-block"> // 输入框块
|
|
|
<input type="text" name="limit_day" value=<%=resultSet.getString("limit_day") %> required lay-verify="required" placeholder="请输入限制天数" autocomplete="off" class="layui-input"> // 输入框,默认值为数据库中获取的限制天数
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 作者 -->
|
|
|
<div class="layui-form-item"> // 表单项
|
|
|
<label class="layui-form-label">限制数量</label> // 表单标签“限制数量”
|
|
|
<div class="layui-input-block"> // 输入框块
|
|
|
<input type="text" name="borrow_num" value=<%=resultSet.getString("borrow_num") %> required lay-verify="required" placeholder="请输入限制数量" autocomplete="off" class="layui-input"> // 输入框,默认值为数据库中获取的限制数量
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div class="layui-form-item"> // 表单项
|
|
|
<label class="layui-form-label">限制图书馆</label> // 表单标签“限制图书馆”
|
|
|
<div class="layui-input-block" > // 输入框块
|
|
|
<%
|
|
|
// 遍历图书馆map,生成多个checkbox,表示用户选择的图书馆
|
|
|
for(String key : libraryMap.keySet()){ // 遍历图书馆map的每一项
|
|
|
boolean flag = false; // 定义一个标志,用于判断是否选中
|
|
|
%>
|
|
|
<input type="checkbox" name=<%="borrow_library[" +key +"]" %> title=<%=libraryMap.get(key) %> <!-- 动态生成checkbox -->
|
|
|
<%
|
|
|
// 遍历数据库中获取的已选图书馆列表,判断是否选中该图书馆
|
|
|
for(String key0 : libraryList){
|
|
|
flag = false;
|
|
|
if(key0.equals(key)){
|
|
|
flag = true; // 如果图书馆ID匹配,设置flag为true
|
|
|
}
|
|
|
if(flag == true)
|
|
|
out.print("checked"); // 如果选中该图书馆,则勾选checkbox
|
|
|
}
|
|
|
%>>
|
|
|
<%
|
|
|
}
|
|
|
%>
|
|
|
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="layui-form-item"> // 表单项
|
|
|
<label class="layui-form-label">逾期每天费用</label> // 表单标签“逾期每天费用”
|
|
|
<div class="layui-input-block"> // 输入框块
|
|
|
<input type="text" name="overtime_fee" value=<%=resultSet.getString("overtime_fee") %> required lay-verify="required" placeholder="请输入逾期每天费用" autocomplete="off" class="layui-input"> // 输入框,默认值为数据库中获取的逾期费用
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="layui-form-item"> // 表单项
|
|
|
<div class="layui-input-block"> // 输入框块
|
|
|
<button class="layui-btn" lay-submit="" lay-filter="bookForm">立即提交</button> // 提交按钮,点击后提交表单
|
|
|
<button type="reset" class="layui-btn layui-btn-primary">重置</button> // 重置按钮,点击后重置表单内容
|
|
|
</div>
|
|
|
</div>
|
|
|
</form>
|
|
|
<script> // 开始JavaScript代码块
|
|
|
|
|
|
|
|
|
layui.use(['form', 'jquery'], function(){ // 使用layui的form和jquery模块
|
|
|
//layer.closeAll(); // 可选的关闭所有弹出层
|
|
|
$ = layui.jquery; // 引入jQuery
|
|
|
var form = layui.form // 获取layui的form模块
|
|
|
,layer = layui.layer // 获取layui的layer模块,用于弹出层
|
|
|
|
|
|
// 监听提交事件
|
|
|
form.on('submit(bookForm)', function(data){ // 监听表单提交事件
|
|
|
$.ajax({ // 使用AJAX发送请求
|
|
|
url: './ruleEdit', // 请求的URL地址
|
|
|
method: 'post', // 使用POST请求
|
|
|
data: data.field, // 发送的表单数据
|
|
|
dataType: 'json', // 请求返回的数据类型为JSON
|
|
|
success: function(data){ // 请求成功的回调函数
|
|
|
if(data.code == "0"){ // 如果返回的code为0,表示成功
|
|
|
parent.layer.msg("修改成功",{ // 弹出修改成功的提示
|
|
|
icon: 6, // 图标类型为成功
|
|
|
time: 500 // 消息显示500毫秒后消失
|
|
|
});
|
|
|
setTimeout(function(){ // 延时操作
|
|
|
parent.location.reload(); // 刷新父页面
|
|
|
}, 500);
|
|
|
}else{ // 如果返回的code不是0,表示失败
|
|
|
leyer.msg("修改失败"); // 弹出修改失败的提示
|
|
|
}
|
|
|
|
|
|
//parent.layer.msg('您将标记 [ sdf ] 成功传送给了父窗口');
|
|
|
}
|
|
|
})
|
|
|
|
|
|
return false; // 阻止表单的默认提交行为
|
|
|
});
|
|
|
});
|
|
|
|
|
|
</script>
|
|
|
|
|
|
<%
|
|
|
// 关闭数据库连接和其他资源
|
|
|
Base.closeResource(connection, pstmt, resultSet); // 关闭数据库连接、PreparedStatement和ResultSet
|
|
|
%>
|
|
|
</body>
|
|
|
</html>
|