|
|
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
|
|
|
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
|
|
<!-- 上述两行是JSP页面的指令:
|
|
|
第一行设置页面内容类型为HTML,编码格式为UTF-8,并且指定使用Java语言;
|
|
|
第二行引入JSTL(JavaServer Pages Standard Tag Library)的核心标签库,方便在页面中进行一些逻辑处理、数据遍历等操作 -->
|
|
|
<html>
|
|
|
<head>
|
|
|
<title>公告列表</title>
|
|
|
<!-- 设置页面的标题为“公告列表”,该标题会显示在浏览器的标题栏 -->
|
|
|
<link rel="stylesheet" href="./css/layui.css">
|
|
|
<!-- 引入layui框架的样式文件,layui.css用于实现页面的布局、样式美化等功能 -->
|
|
|
<link rel="stylesheet" href="./css/style.css">
|
|
|
<!-- 引入自定义的style.css样式文件,可能包含针对本页面特有的样式规则,用于进一步定制页面外观 -->
|
|
|
<script src="./layui.js"></script>
|
|
|
<!-- 引入layui框架的JavaScript脚本文件,提供了众多交互功能、组件等相关的代码逻辑 -->
|
|
|
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
|
|
|
<!-- 引入jQuery库,它是一个广泛使用的JavaScript库,便于进行DOM操作、事件处理、动画效果等各种前端开发任务 -->
|
|
|
</head>
|
|
|
<body class="layui-layout-body" style="background-color: #F2F2F2">
|
|
|
<!-- 设置页面主体的类名为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>
|
|
|
<!-- 包含aHeader.jsp页面,一般用于构建页面的头部区域,比如展示网站名称、导航栏等内容 -->
|
|
|
<jsp:include page="/WEB-INF/admin/adminNav.jsp"></jsp:include>
|
|
|
<!-- 包含adminNav.jsp页面,大概率是用于展示页面的导航菜单,方便用户在不同功能页面之间进行切换 -->
|
|
|
<div class="layui-layout layui-layout-admin">
|
|
|
<div class="layui-body">
|
|
|
<!-- 内容主体区域,layui框架中用于承载页面主要内容的部分 -->
|
|
|
<div style="padding: 15px;">
|
|
|
<span class="layui-breadcrumb">
|
|
|
<a>管理员</a>
|
|
|
<a>系统管理</a>
|
|
|
<a><cite>公告列表</cite></a>
|
|
|
</span>
|
|
|
<!-- 展示面包屑导航,清晰地呈现当前页面在整个系统层级结构中的位置,方便用户知晓所在路径 -->
|
|
|
<p> </p>
|
|
|
|
|
|
<table class="layui-table" lay-filter="test">
|
|
|
<thead>
|
|
|
<tr>
|
|
|
<th><input type="checkbox" class="my-checkbox" name="" title="" lay-skin="primary"></th>
|
|
|
<th>公告ID</th>
|
|
|
<th>公告日期</th>
|
|
|
<th>公告内容</th>
|
|
|
<th>操作</th>
|
|
|
</tr>
|
|
|
</thead>
|
|
|
<!-- 定义表格的表头部分:
|
|
|
第一个<th>中创建了一个带有layui样式的复选框,可能用于批量操作(如批量删除等);
|
|
|
后续的<th>分别定义了公告ID、公告日期、公告内容和操作列的表头名称 -->
|
|
|
<c:forEach items="${notifys}" var="notify" varStatus="n">
|
|
|
<tr>
|
|
|
<th><input type="checkbox" class="my-checkbox" name="" title="" lay-skin="primary"></th>
|
|
|
<td>${n.count}</td>
|
|
|
<td>${notify.notifyDate}</td>
|
|
|
<td>${notify.notifyInfo}</td>
|
|
|
<td><a class="layui-btn layui-btn-danger" href="javascript:deleteNotify(${notify.id});">删除</a></td>
|
|
|
</tr>
|
|
|
</c:forEach>
|
|
|
<!-- 使用JSTL的forEach标签循环遍历名为notifys的集合(通常是从后端传递过来的公告数据列表):
|
|
|
对于每个公告元素(用notify变量表示),创建表格的一行<tr>:
|
|
|
第一个<td>同样创建一个复选框;
|
|
|
第二个<td>使用varStatus属性的count属性展示序号(从1开始计数);
|
|
|
第三个<td>展示公告的日期;
|
|
|
第四个<td>展示公告的内容;
|
|
|
第五个<td>创建一个带有layui样式的删除按钮,点击按钮会调用JavaScript函数deleteNotify,并传递当前公告的ID作为参数 -->
|
|
|
</table>
|
|
|
|
|
|
<jsp:include page="/footer.jsp"></jsp:include>
|
|
|
<!-- 包含footer.jsp页面,通常用于展示页面底部的相关信息,比如版权声明、联系方式等内容 -->
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
|
$("#nav li:nth-child(5) dl dd:nth-child(2)").addClass("layui-this");
|
|
|
// 使用jQuery选择器选中特定的导航栏元素(第5个li下的第二个dl下的第二个dd),并添加类名layui-this,
|
|
|
// 可能用于标记当前选中的导航项样式,使其呈现出与其他导航项不同的视觉效果,表明当前所在页面为“公告列表”相关页面
|
|
|
$("#nav li:nth-child(5)").addClass("layui-nav-itemed");
|
|
|
// 使用jQuery选择器选中特定的导航栏元素(第5个li),并添加类名layui-nav-itemed,
|
|
|
// 可能用于展开或标记特定导航栏的展开状态相关样式,以展示对应的二级导航等内容
|
|
|
</script>
|
|
|
<script>
|
|
|
//JavaScript代码区域
|
|
|
layui.use('element', function(){
|
|
|
var element = layui.element;
|
|
|
element.init();
|
|
|
});
|
|
|
// 使用layui框架的element模块,调用init方法进行初始化,可能用于初始化页面的一些交互元素、组件等功能,
|
|
|
// 比如菜单的展开收起、选项卡切换等交互效果的初始化
|
|
|
</script>
|
|
|
|
|
|
<script>
|
|
|
function deleteNotify(n_id) {
|
|
|
if (confirm("你确定删除该通知吗?")) {
|
|
|
location.href = "${pageContext.request.contextPath}/deleteNotifyServlet?id=" + n_id;
|
|
|
}
|
|
|
}
|
|
|
// 定义名为deleteNotify的JavaScript函数,接收一个参数n_id(公告的ID):
|
|
|
// 首先通过confirm函数弹出一个确认框,询问用户是否确定删除该通知;
|
|
|
// 如果用户点击确认(点击“确定”按钮),则将页面重定向到后端的deleteNotifyServlet,并通过URL参数传递要删除的公告ID,
|
|
|
// 由后端的这个Servlet来处理实际的删除逻辑
|
|
|
</script>
|
|
|
</body>
|
|
|
</html> |