You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
library_manage_system/WebContent/admin/ruleedit.jsp

158 lines
7.9 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<%@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>