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.
text1/web/WEB-INF/student/sInformation.jsp

204 lines
17 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 contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!-- 以上两行是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框架所提供的样式用于页面布局、组件美化等方面 -->
<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>
<!-- 从CDN内容分发网络引入jQuery库的最小化版本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>
<!-- 包含名为filterLogin.jsp的页面内容通常用于处理登录相关的验证或展示登录相关的模块等功能 -->
<jsp:include page="/WEB-INF/student/sHeader.jsp"></jsp:include>
<!-- 包含位于WEB-INF/student目录下的sHeader.jsp页面一般用于展示页面的头部内容比如导航栏、logo等 -->
<jsp:include page="/WEB-INF/student/studentNav.jsp"></jsp:include>
<!-- 包含位于WEB-INF/student目录下的studentNav.jsp页面大概率是用来展示学生端特定的导航菜单等内容 -->
<div class="layui-layout layui-layout-admin">
<!-- 创建一个类名为"layui-layout"和"layui-layout-admin"的div容器可能是layui框架用于布局管理的特定结构 -->
<div class="layui-body">
<!-- 这个div通常用于承载页面的主要内容区域在layui框架的布局体系里有特定含义 -->
<!-- 内容主体区域 -->
<div style="padding: 15px;">
<!-- 创建一个带有内边距为15px的div用于放置具体的内容起到一定的排版作用 -->
<span class="layui-breadcrumb">
<a href="">学生端</a>
<a href="">个人信息管理</a>
<a><cite>个人信息</cite></a>
</span>
<!-- 创建一个layui框架的面包屑导航组件用于展示当前页面的层级路径这里显示了从"学生端"到"个人信息管理"再到"个人信息"的导航链路但链接href目前为空可能后续需要完善具体的跳转地址 -->
<form class="layui-form" action="${pageContext.request.contextPath}/studentInfomationUpdateServlet" style="padding-top: 50px" method="post">
<!-- 创建一个layui框架的表单form设置其提交的目标地址为名为studentInfomationUpdateServlet的Servlet通过EL表达式动态获取上下文路径拼接而成通过内联样式设置顶部内边距为50px提交方式为POST用于收集用户输入的个人信息并提交给后端进行更新操作 -->
<div class="layui-form-item">
<!-- 创建一个layui框架下表单项目form-item的div容器layui框架通常会依据这个结构来对内部的表单元素进行布局和样式处理 -->
<label class="layui-form-label">学号</label>
<!-- 创建一个表单标签label元素用于标识后面的输入框对应的含义这里显示为"学号" -->
<div class="layui-input-block">
<!-- 创建一个用于放置输入框的div容器在layui框架的表单布局里控制输入框的显示样式 -->
<input type="text" readonly="readonly" name="student-id" value="${student.s_id}" required lay-verify="required" autocomplete="off" class="layui-input">
<!-- 创建一个文本输入框input元素类型为文本type: text设置为只读readonly="readonly"),其名称为"student-id"用于在表单提交时传递参数给后端输入框的值通过EL表达式从名为"student"的对象中获取可能是从后台查询出当前登录学生的学号信息进行回显设置为必填项required且通过layui框架的验证机制lay-verify="required"来确保用户不能留空关闭自动完成功能autocomplete="off"并应用layui框架的输入框样式类layui-input -->
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">学院</label>
<div class="layui-input-block">
<select name="selectCollege" readonly="readonly">
<!-- 创建一个下拉选择框select元素名称为"selectCollege",设置为只读,用于选择学院信息 -->
<option selected>${student.s_college}</option>
<!-- 创建一个下拉选项option设置为已选中selected其显示文本通过EL表达式从名为"student"的对象中获取当前学生所在学院信息进行回显,通常表示当前学生已有的学院信息,且不允许用户修改 -->
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">系别</label>
<div class="layui-input-block">
<select name="selectDepartment" readonly="readonly">
<option selected>${student.s_department}</option>
<!-- 与上面学院的下拉框类似这里创建系别department的下拉选择框同样是只读且默认选中当前学生所在系别信息通过EL表达式获取不允许用户修改 -->
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">班级</label>
<div class="layui-input-block">
<select name="selectClass" readonly="readonly">
<option selected>${student.s_class}</option>
<!-- 创建班级class的下拉选择框只读默认选中当前学生所在班级信息通过EL表达式获取用户不可修改 -->
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">姓名</label>
<div class="layui-input-block">
<input type="text" name="student-name" id="student-name" value="${student.s_name}" placeholder="" autocomplete="off" class="layui-input">
<!-- 创建一个文本输入框,类型为文本,名称为"student-name"设置了id为"student-name"方便后续通过JavaScript操作该元素输入框的值通过EL表达式获取当前学生姓名进行回显关闭自动完成功能应用layui框架输入框样式这里用户可以修改姓名信息 -->
</div>
</div>
<div class="layui-form-item">
</div>
<div class="layui-form-item">
<div class="layui-inline">
<!-- 创建一个内联的div容器在layui表单布局中用于让内部的表单元素在同一行显示 -->
<label class="layui-form-label">性别</label>
<div class="layui-input-block">
<input type="radio" name="student-sex" id="idsex" value="男" title="男">
<input type="radio" name="student-sex" id="idsex2" value="女" title="女">
<!-- 创建两个单选按钮input类型为radio它们的名称都为"student-sex"意味着同一时间只能选择其中一个id分别为"idsex"和"idsex2"方便后续操作,值分别为"男"和"女"通过title属性设置显示的文本为对应的性别文字用户可从中选择性别信息 -->
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">年龄</label>
<div class="layui-input-block">
<input type="text" name="student-age" id="student-age" value="${student.s_age}" placeholder="" autocomplete="off" class="layui-input">
<!-- 创建一个文本输入框用于输入年龄,名称为"student-age"id为"student-age"通过EL表达式获取当前学生年龄进行回显用户可以修改年龄信息 -->
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">电话</label>
<div class="layui-input-block">
<input type="text" name="student-phone" id="student-phone" value="${student.s_phone}" placeholder="" autocomplete="off" class="layui-input">
<!-- 创建文本输入框用于输入电话号码通过EL表达式回显已有电话号码用户可修改 -->
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">邮箱</label>
<div class="layui-input-block">
<input type="text" name="student-email" id="student-email" value="${student.s_email}" placeholder="" autocomplete="off" class="layui-input">
<!-- 创建文本输入框用于输入邮箱地址,回显已有邮箱信息,用户可修改 -->
</div>
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">城市</label>
<div class="layui-input-block">
<input type="text" name="student-address" id="student-address" value="${student.s_address}" placeholder="请输入你所在的省市" autocomplete="off" class="layui-input">
<!-- 创建文本输入框用于输入所在城市信息回显已有城市信息通过placeholder属性提示用户输入的格式要求用户可修改 -->
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="formDemo">修改</button>
<!-- 创建一个提交按钮button应用layui框架的按钮样式类layui-btn设置其为可提交表单lay-submit并通过lay-filter属性设置一个名为"formDemo"的过滤器点击该按钮会触发表单提交操作将用户修改后的信息发送到指定的Servlet -->
<button class="layui-btn layui-btn-primary" id="inforeset">重置</button>
<!-- 创建一个普通按钮应用layui框架的按钮样式类layui-btn layui-btn-primary表示一个默认样式的按钮设置了id为"inforeset",用于触发重置表单信息的操作 -->
<span style="padding-left: 20px;">${update_msg}</span>
<!-- 通过EL表达式显示名为"update_msg"的变量的值,可能用于在页面上显示一些与更新操作相关的提示信息,比如更新成功或失败的消息等 -->
</div>
</div>
</form>
<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(1)").addClass("layui-this");
// 使用jQuery选择器选中页面中id为"nav"的元素下的第5个子元素li下的dl元素下的第1个dd元素并为其添加类名"layui-this"在layui框架中添加这个类名通常意味着将对应的导航菜单项标记为当前选中状态使其呈现特定的样式例如改变颜色、加粗等以此表明当前所在的页面功能模块对应的菜单选项
$("#nav li:nth-child(5)").addClass("layui-nav-itemed");
// 同样使用jQuery选择器选中页面中id为"nav"的元素下的第5个子元素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>
//Demo
layui.use('form', function(){
// 使用layui框架的form模块后续可以在这个回调函数内部编写与表单相关的交互逻辑代码不过目前这里没有具体内容可能是预留的用于进一步开发表单验证、提交等相关功能的地方
});
</script>
<script>
var sex = "${student.s_sex}";
if (sex == '男') {
$("#idsex").attr("checked","checked");
$("#idsex2").removeAttr("checked");
// 通过EL表达式获取名为"student"的对象中的学生性别信息存储在变量sex中然后进行条件判断如果性别为"男"则使用jQuery的attr方法将id为"idsex"的单选按钮设置为选中状态checked同时移除id为"idsex2"的单选按钮的选中状态,确保页面上性别信息的正确显示
} else if (sex == '女') {
$("#idsex2").attr("checked","checked");
$("#idsex").removeAttr("checked");
// 如果性别为"女"则相反操作选中id为"idsex2"的单选按钮移除id为"idsex"的单选按钮的选中状态
}else{
$("#idsex").removeAttr("checked");
$("#idsex2").removeAttr("checked");
// 如果获取到的性别信息不是"男"或"女"(可能为空等情况),则将两个单选按钮的选中状态都移除
}
</script>
<script type="text/javascript">
$(function () {
$('#inforeset').bind('click',function () {
$("#idsex").removeAttr("checked");
$("#idsex2").removeAttr("checked");
$("#student-name").val("");
$("#student-age").val("");
$("#student-phone").val("");
$("#student-email").val("");
$("#student-address").val("");
alert("已重置!");
// 使用jQuery的文档就绪函数$(function () {...}当页面DOM加载完成后执行内部代码。这里给id为"inforeset"的按钮绑定点击事件bind('click', function () {...})),当点击该按钮时,执行以下操作:
// 先移除两个性别单选按钮的选中状态,然后将各个可修改的输入框(姓名、年龄、电话、邮箱、地址)的值清空,最后弹出一个提示框显示"已重置!",实现表单信息的重置功能
});
});
</script>
</body>
</html>