chenxi 8 months ago
parent 57e5e535c5
commit 14768edcdf

@ -1,27 +1,44 @@
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!-- 上述两行是JSP页面的相关指令
第一行用于设定该JSP页面的内容类型为text/html即表明这是一个HTML格式的页面同时指定字符编码为UTF-8并且表明页面使用Java语言来处理相关逻辑。
第二行引入了JSTLJavaServer Pages Standard Tag Library核心标签库定义其前缀为“c”后续就能通过这个前缀使用JSTL提供的各类标签比如用于循环遍历、条件判断等操作的标签方便在JSP页面中进行动态数据处理 -->
<html>
<head>
<title>查询教师</title>
<!-- 设置当前HTML页面的标题为“查询教师”此标题会显示在浏览器的标题栏中让用户直观知晓该页面的主要功能 -->
<link rel="stylesheet" href="./css/layui.css">
<!-- 引入layui框架的样式表文件通过相对路径从当前页面所在目录下的css文件夹中查找应用layui框架所提供的样式可用于页面布局、组件美化等使页面呈现出layui框架特有的外观风格 -->
<link rel="stylesheet" href="./css/style.css">
<!-- 引入自定义的样式表文件style.css同样采用相对路径引用用于添加符合特定需求的个性化页面样式对页面显示效果做进一步定制 -->
<script src="./layui.js"></script>
<!-- 引入layui框架的JavaScript脚本文件从当前页面所在目录获取该文件layui脚本为页面提供众多交互功能以及各种组件支持比如实现菜单交互、页面元素动态展示等 -->
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<!-- 从CDN内容分发网络引入jQuery库的最小化版本jQuery是常用的JavaScript库能简化页面中对DOM元素的操作、事件处理以及实现各种动画效果等方便开发人员编写JavaScript代码来实现页面交互逻辑 -->
</head>
<body class="layui-layout-body" style="background-color: #F2F2F2">
<!-- 为页面主体body设置类名“layui-layout-body”同时将背景颜色设定为浅灰色#F2F2F2这里的类名大概率与layui框架的布局样式相关联按照其框架规范来构建页面整体外观 -->
<jsp:include page="/filterLogin.jsp"></jsp:include>
<!-- 通过JSP的include指令包含名为filterLogin.jsp的页面内容通常这个页面用于处理用户登录相关的验证逻辑或者展示登录相关的界面元素比如登录表单等以此保证只有登录后的用户可访问后续页面内容 -->
<jsp:include page="/WEB-INF/admin/aHeader.jsp"></jsp:include>
<!-- 包含位于WEB-INF/admin目录下的aHeader.jsp页面一般用于构建页面的头部区域可能包含网站logo、导航栏等常见的头部元素起到统一页面头部布局的作用 -->
<jsp:include page="/WEB-INF/admin/adminNav.jsp"></jsp:include>
<!-- 再次使用JSP的include指令包含WEB-INF/admin目录下的adminNav.jsp页面通常用来展示管理员端特有的导航菜单内容便于用户在不同功能模块间进行切换操作 -->
<div class="layui-layout layui-layout-admin">
<!-- 创建一个div元素并赋予其两个类名“layui-layout”和“layui-layout-admin”这一般是layui框架中用于定义页面整体布局结构的特定类名遵循layui框架的布局规范来划分页面不同区域 -->
<div class="layui-body">
<!-- 在上述布局div内部再创建一个div元素类名为“layui-body”在layui框架里该区域通常用于承载页面的主要内容例如展示各类业务数据、操作按钮等 -->
<!-- 内容主体区域 -->
<div style="padding: 15px;">
<!-- 新建一个div元素并通过内联样式设置其四周内边距为15px主要用于对内部元素进行排版让页面内容看起来更规整避免显得过于紧凑或松散 -->
<span class="layui-breadcrumb">
<a href="">管理员</a>
<a href="">教师管理</a>
<a><cite>查询教师</cite></a>
</span>
<!-- 创建一个layui框架提供的面包屑导航组件通过一系列超链接a标签展示当前页面在整个系统中的层级路径这里展示了从“管理员”进入“教师管理”再到“查询教师”页面但超链接的href属性为空可能后续需完善具体跳转地址以实现页面导航功能 -->
<table class="layui-table" lay-filter="test">
<!-- 创建一个layui框架的表格组件设置名为“test”的过滤器该过滤器可在后续JavaScript代码中用于配置表格相关交互功能例如实现表格行点击事件、数据筛选、排序等操作 -->
<thead>
<tr>
<th>ID</th>
@ -31,10 +48,12 @@
<th>文化程度</th>
<th>职称</th>
<th>操作</th>
<!-- 定义表格头部的列标题分别列出要展示的教师相关的各个字段如序号ID、工号、姓名、性别、文化程度、职称以及操作用于进行修改、删除等相关操作 -->
</tr>
</thead>
<c:forEach items="${teachers}" var="teacher" varStatus="t">
<!-- 使用JSTL的forEach标签进行循环遍历操作循环的对象是名为“teachers”的数据集合通常是从后端传递过来的教师信息列表每次循环将当前元素赋值给变量“teacher”同时利用“varStatus”获取循环状态信息如当前循环次数等并赋值给变量“t” -->
<tr>
<td>${t.count}</td>
<td>${teacher.t_id}</td>
@ -43,10 +62,14 @@
<td>${teacher.t_education}</td>
<td>${teacher.t_title}</td>
<td><a class="layui-btn layui-btn-normal" href="${pageContext.request.contextPath}/updateTeacherServlet?tid=${teacher.t_id}">修改</a><a class="layui-btn layui-btn-danger" href="javascript:deleteTeacher(${teacher.t_id});">删除</a></td>
<!-- 在表格的每一行中通过EL表达式Expression Language如${t.count}等)分别展示对应的数据:
先展示序号(通过${t.count}表示当前循环次数),然后依次展示工号、姓名、性别、文化程度、职称等具体信息;
最后一列创建两个超链接a标签分别应用layui框架的不同样式按钮类一个是常规样式layui-btn layui-btn-normal用于跳转到修改教师信息的页面通过拼接教师ID参数传递给对应的Servlet另一个是危险样式layui-btn layui-btn-danger点击后会调用名为deleteTeacher的JavaScript函数并传递当前教师的ID作为参数用于删除当前行对应的教师信息 -->
</tr>
</c:forEach>
</table>
<jsp:include page="/footer.jsp"></jsp:include>
<!-- 包含名为footer.jsp的页面一般用于展示页面底部的一些通用信息比如版权声明、网站相关链接、联系方式等内容 -->
</div>
</div>
</div>
@ -54,19 +77,23 @@
<script type="text/javascript">
$("#nav li:nth-child(3) dl dd:nth-child(1)").addClass("layui-this");
// 使用jQuery选择器选中页面中id为“nav”的元素下的第3个子元素li下的dl元素下的第1个dd元素并为其添加类名“layui-this”在layui框架中添加这个类名通常意味着将对应的导航菜单项标记为当前选中状态使其呈现特定的样式如改变颜色、加粗等以此表明当前所在页面功能模块对应的菜单选项
$("#nav li:nth-child(3)").addClass("layui-nav-itemed");
// 同样用jQuery选择器选中页面中id为“nav”的元素下的第3个子元素li并为其添加类名“layui-nav-itemed”在layui框架里这个类名可能用于控制导航菜单的展开或折叠状态让对应的菜单层级结构展示相应效果方便用户查看相关子菜单
</script>
<script>
//JavaScript代码区域
layui.use('element', function(){
var element = layui.element;
element.init();
// 使用layui框架的element模块调用其init方法进行初始化操作。在layui框架中element模块提供了很多页面元素交互相关的功能例如实现页面布局动态切换、菜单展开收起等交互效果通过调用init方法可激活这些功能确保页面上基于element模块构建的各种UI组件能正常工作
});
</script>
<script>
function deleteTeacher(t_id) {
if (confirm("你确定删除该教师吗?")) {
location.href = "${pageContext.request.contextPath}/deleteTeacherServlet?tid=" + t_id;
// 定义一个名为deleteTeacher的函数接收教师的IDt_id作为参数在函数内部通过JavaScript的confirm函数弹出一个确认框询问用户是否确定删除该教师当用户点击确定返回true使用location.href属性将页面重定向到名为deleteTeacherServlet的Servlet并通过URL拼接传递要删除的教师的ID参数从而触发后端对应的删除教师信息的逻辑
}
}
</script>

Loading…
Cancel
Save