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/cardedit.jsp

146 lines
8.6 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.Base"%> <!-- 导入Base类用于数据库连接等操作 -->
<%@page import="java.sql.ResultSet"%> <!-- 导入ResultSet类用于存储查询的结果 -->
<%@page import="java.sql.PreparedStatement"%> <!-- 导入PreparedStatement类用于执行预编译SQL语句 -->
<%@page import="java.sql.Connection"%> <!-- 导入Connection类用于管理数据库连接 -->
<%@page import="net.sf.json.JSONObject"%> <!-- 导入JSONObject类用于处理JSON对象 -->
<%@page import="net.sf.json.JSONArray"%> <!-- 导入JSONArray类用于处理JSON数组 -->
<%@page import="javabean.Admin"%> <!-- 导入Admin类用于管理员相关操作 -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%> <!-- 设置页面的语言为Java字符编码为UTF-8,设置页面的字符编码为UTF-8 -->
<!DOCTYPE html> <!-- 声明文档类型为HTML5 -->
<html> <!-- 开始HTML文档 -->
<head>
<meta charset="UTF-8"> <!-- 设置页面字符编码为UTF-8 -->
<title>图书证修改</title> <!-- 页面标题设置为“图书证修改” -->
<link rel="stylesheet" href="../public/layui/css/layui.css" media="all"> <!-- 引入layui CSS样式 -->
<script src="../public/layui/layui.js" charset="utf-8"></script> <!-- 引入layui JavaScript库 -->
<style>
.layui-form{ <!-- 样式设置 -->
margin: 10px 20px; <!-- 设置表单的外边距 -->
}
</style>
</head>
<body>
<%
// 获取借阅证ID参数
String id = request.getParameter("id"); // 获取通过URL传递的“id”参数
// 初始化数据库连接及SQL语句
Connection connection = null; // 声明数据库连接对象
PreparedStatement pstmt = null; // 声明PreparedStatement对象用于查询规则
PreparedStatement infoPstmt = null; // 声明PreparedStatement对象用于查询借阅证信息
ResultSet ruleSet = null; // 声明ResultSet对象用于存放规则查询结果
ResultSet infoSet = null; // 声明ResultSet对象用于存放借阅证信息查询结果
String sql = "select * from rules"; // 查询规则的SQL语句
String infoSql = "select * from borrow_card where id=?"; // 查询借阅证信息的SQL语句使用占位符“?”
String result = ""; // 初始化字符串变量result用于存储结果
// 获取数据库连接
connection = (Connection)Base.getConnection(); // 调用Base类中的getConnection方法获取数据库连接
pstmt = connection.prepareStatement(sql); // 准备执行规则查询SQL语句
infoPstmt = connection.prepareStatement(infoSql); // 准备执行借阅证信息查询SQL语句
infoPstmt.setString(1, id); // 设置查询借阅证信息SQL语句中的ID参数
infoSet = infoPstmt.executeQuery(); // 执行查询并获取结果集
infoSet.next(); // 将结果集指针移动到查询的第一行
ruleSet = pstmt.executeQuery(); // 执行规则查询并获取结果集
%>
<form class="layui-form layui-form-pane" action="" lay-filter="cardFilter"> <!-- 创建layui表单添加lay-filter属性用于过滤表单 -->
<!-- 账号 -->
<div class="layui-form-item"> <!-- 表单项 -->
<label class="layui-form-label">账号</label> <!-- 标签显示为“账号” -->
<div class="layui-input-block"> <!-- 输入框容器 -->
<input type="text" name="id" value=<%=id %> class="layui-input" disabled> <!-- 显示账号值为Java中传递的id参数且设置为不可编辑 -->
</div>
</div>
<!-- 姓名 -->
<div class="layui-form-item"> <!-- 表单项 -->
<label class="layui-form-label">姓名</label> <!-- 标签显示为“姓名” -->
<div class="layui-input-block"> <!-- 输入框容器 -->
<input type="text" name="reader" value=<%=infoSet.getString("reader") %> lay-verify="required" autocomplete="off" placeholder="请输入姓名" class="layui-input"> <!-- 姓名输入框默认值为数据库查询到的reader字段值且设置为必填 -->
</div>
</div>
<!-- 密码 -->
<div class="layui-form-item"> <!-- 表单项 -->
<label class="layui-form-label">密码</label> <!-- 标签显示为“密码” -->
<div class="layui-input-block"> <!-- 输入框容器 -->
<input type="password" name="password" value=<%=infoSet.getString("password") %> placeholder="请输入密码" autocomplete="off" class="layui-input" lay-verify="required"> <!-- 密码输入框默认值为数据库查询到的password字段值且设置为必填 -->
</div>
</div>
<!-- 借阅规则 -->
<div class="layui-form-item"> <!-- 表单项 -->
<label class="layui-form-label">规则</label> <!-- 标签显示为“规则” -->
<div class="layui-input-block"> <!-- 输入框容器 -->
<select name="rule_id" lay-filter="rule_id" lay-verify="required"> <!-- 下拉框,显示借阅规则 -->
<% while(ruleSet.next()){ %> <!-- 遍历所有查询到的规则 -->
<option value=<%=ruleSet.getString("id") %> <%if(ruleSet.getString("id").equals(infoSet.getString("rule_id"))) out.print("selected"); %>><%=ruleSet.getString("id") %></option> <!-- 显示规则ID如果当前规则ID和借阅证规则ID一致则选中此项 -->
<%} %>
</select>
</div>
</div>
<div class="layui-form-item"> <!-- 表单项 -->
<label class="layui-form-label">状态</label> <!-- 标签显示为“状态” -->
<div class="layui-input-block"> <!-- 输入框容器 -->
<input type="radio" name="status" value="1" title="可用" <%if(infoSet.getString("status").equals("1")) out.print("checked"); %>> <!-- 如果借阅证状态为“可用”,则选中该项 -->
<input type="radio" name="status" value="0" title="挂失" <%if(infoSet.getString("status").equals("0")) out.print("checked"); %>> <!-- 如果借阅证状态为“挂失”,则选中该项 -->
</div>
</div>
<div class="layui-form-item"> <!-- 表单项 -->
<div class="layui-input-block"> <!-- 按钮容器 -->
<button class="layui-btn" lay-submit="" lay-filter="submitForm">立即提交</button> <!-- 提交按钮 -->
<button type="reset" class="layui-btn layui-btn-primary">重置</button> <!-- 重置按钮 -->
</div>
</div>
</form>
<script>
layui.use(['form', 'jquery'], function(){ <!-- 使用layui的form和jquery模块 -->
var form = layui.form <!-- 获取form模块 -->
,layer = layui.layer; <!-- 获取layer模块 -->
$ = layui.jquery; <!-- 获取jQuery对象 -->
// 提交表单
form.on('submit(submitForm)', function(data){ <!-- 监听提交按钮的点击事件 -->
$.ajax({ <!-- 发送AJAX请求 -->
url: './cardEdit', <!-- 请求的URL -->
type: 'post', <!-- 请求方式为POST -->
data: data.field, <!-- 提交的数据为表单数据 -->
dataType: 'json', <!-- 返回的数据格式为JSON -->
timeout : 3000, <!-- 设置请求的超时时间为3000毫秒 -->
success: function(data){ <!-- 请求成功时的回调函数 -->
if(data.code == "0"){ <!-- 如果返回的数据中的code为0表示操作成功 -->
layer.msg("修改成功", { <!-- 弹出提示框,提示修改成功 -->
icon: 6,
anim: 5,
time: 500, <!-- 设置提示框显示时间为500毫秒 -->
});
setTimeout(function(){ <!-- 延时关闭当前窗口 -->
var index = parent.layer.getFrameIndex(window.name); <!-- 获取当前iframe层的索引 -->
parent.layer.close(index); <!-- 关闭当前iframe层 -->
}, 500) <!-- 延时500毫秒后执行关闭操作 -->
}else{ <!-- 如果返回的数据中的code不为0表示操作失败 -->
leyer.msg("修改失败"); <!-- 弹出提示框,提示修改失败 -->
}
},
error: function(){ <!-- 请求失败时的回调函数 -->
layer.msg("获取超时"); <!-- 弹出提示框,提示请求超时 -->
}
});
return false; <!-- 阻止表单的默认提交行为 -->
})
});
</script>
<%
Base.closeResource(connection, pstmt, ruleSet); // 关闭数据库资源
%>
</body>
</html>