update
new feature new look add google font as global font
This commit is contained in:
parent
1f73a30965
commit
ef64e58c86
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -36,5 +36,17 @@
|
|||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
<update id="updateStudent" parameterType="cyou.chenx221.pojo.Student">
|
||||||
|
UPDATE student
|
||||||
|
SET
|
||||||
|
<trim suffixOverrides=",">
|
||||||
|
<if test="name != null">name = #{name},</if>
|
||||||
|
<if test="sex != null">sex = #{sex},</if>
|
||||||
|
<if test="birthday != null">birthday = #{birthday},</if>
|
||||||
|
<if test="phone != null">phone = #{phone},</if>
|
||||||
|
<if test="classes != null">classes = #{classes},</if>
|
||||||
|
</trim>
|
||||||
|
WHERE id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/resources/css/mdb.min.css" />
|
<link rel="stylesheet" href="${pageContext.request.contextPath}/resources/css/mdb.min.css" />
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body style="font-family: 'Noto Sans SC Regular',serif">
|
||||||
<!--Main Navigation-->
|
<!--Main Navigation-->
|
||||||
<header>
|
<header>
|
||||||
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
|
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
|
||||||
@ -42,10 +42,10 @@
|
|||||||
<ul class="dropdown-menu" aria-labelledby="navbarDropdown1">
|
<ul class="dropdown-menu" aria-labelledby="navbarDropdown1">
|
||||||
<li><a class="dropdown-item" href="student/all">学生信息显示</a></li>
|
<li><a class="dropdown-item" href="student/all">学生信息显示</a></li>
|
||||||
<li><a class="dropdown-item" href="student/queryinfo">学生信息查询</a></li>
|
<li><a class="dropdown-item" href="student/queryinfo">学生信息查询</a></li>
|
||||||
<li><a class="dropdown-item" href="#">学生信息修改</a></li>
|
<li><a class="dropdown-item" href="student/modstep1">学生信息修改</a></li>
|
||||||
<li><a class="dropdown-item" href="#">学生信息添加</a></li>
|
<li><a class="dropdown-item" href="#">学生信息添加</a></li>
|
||||||
<li><a class="dropdown-item" href="#">学生信息删除</a></li>
|
<li><a class="dropdown-item" href="#">学生信息删除</a></li>
|
||||||
<li><a class="dropdown-item" href="#">自己输入sql语句查</a></li>
|
<li><a class="dropdown-item disabled">自己输入sql语句查(没做)</a></li>
|
||||||
<li>
|
<li>
|
||||||
<hr class="dropdown-divider" />
|
<hr class="dropdown-divider" />
|
||||||
</li>
|
</li>
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body style="font-family: 'Noto Sans SC Regular',serif">
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
|
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
|
||||||
@ -59,36 +59,103 @@
|
|||||||
<div class="container d-flex align-items-center justify-content-center h-100">
|
<div class="container d-flex align-items-center justify-content-center h-100">
|
||||||
<div style="background-color: rgba(255,255,255,0.7);backdrop-filter: blur(30px)"
|
<div style="background-color: rgba(255,255,255,0.7);backdrop-filter: blur(30px)"
|
||||||
class="rounded-5 shadow-5-strong p-5">
|
class="rounded-5 shadow-5-strong p-5">
|
||||||
<form action="signin" method="POST">
|
<!-- Pills navs -->
|
||||||
<h1 class="text-center mb-4" style="font-family: 'Noto Sans SC Light',serif">用户登录</h1>
|
<ul class="nav nav-pills nav-justified mb-3" id="ex1" role="tablist">
|
||||||
<div class="form-outline mb-4">
|
<li class="nav-item" role="presentation">
|
||||||
<input type="text" id="form1Example1" class="form-control" name="username"/>
|
<a
|
||||||
<label class="form-label" for="form1Example1">用户名</label>
|
class="nav-link active"
|
||||||
</div>
|
id="tab-login"
|
||||||
<div class="form-outline mb-4">
|
data-mdb-toggle="pill"
|
||||||
<input type="password" id="form1Example2" class="form-control" name="password"/>
|
href="#pills-login"
|
||||||
<label class="form-label" for="form1Example2">密码</label>
|
role="tab"
|
||||||
</div>
|
aria-controls="pills-login"
|
||||||
<div class="row">
|
aria-selected="true"
|
||||||
<div class="col d-flex justify-content-center">
|
>登录</a>
|
||||||
<div class="form-check">
|
</li>
|
||||||
<input class="form-check-input" type="checkbox" value=""
|
<li class="nav-item" role="presentation">
|
||||||
id="form1Example3"
|
<a
|
||||||
checked/>
|
class="nav-link"
|
||||||
<label class="form-check-label" for="form1Example3">记住密码</label>
|
id="tab-register"
|
||||||
</div>
|
data-mdb-toggle="pill"
|
||||||
</div>
|
href="#pills-register"
|
||||||
<div class="col">
|
role="tab"
|
||||||
<a href="#!">忘记密码?</a>
|
aria-controls="pills-register"
|
||||||
</div>
|
aria-selected="false"
|
||||||
</div>
|
>注册</a>
|
||||||
<button type="button" class="btn btn-tertiary btn-block mx-auto"
|
</li>
|
||||||
data-mdb-ripple-color="light">没有账户? 注册账户
|
</ul>
|
||||||
</button>
|
<!-- Pills navs -->
|
||||||
<button type="submit" class="btn btn-primary btn-block">登录</button>
|
|
||||||
<%-- 显示错误信息 --%>
|
|
||||||
|
|
||||||
</form>
|
<!-- Pills content -->
|
||||||
|
<div class="tab-content">
|
||||||
|
<div class="tab-pane fade show active" id="pills-login" role="tabpanel"
|
||||||
|
aria-labelledby="tab-login">
|
||||||
|
<form action="signin" method="POST">
|
||||||
|
<h1 class="text-center mb-4" style="font-family: 'Noto Sans SC Light',serif">
|
||||||
|
用户登录</h1>
|
||||||
|
<div class="form-outline mb-4">
|
||||||
|
<input type="text" id="form1Example1" class="form-control" name="username"/>
|
||||||
|
<label class="form-label" for="form1Example1">用户名</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-outline mb-4">
|
||||||
|
<input type="password" id="form1Example2" class="form-control" name="password"/>
|
||||||
|
<label class="form-label" for="form1Example2">密码</label>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-4">
|
||||||
|
<div class="col d-flex justify-content-center">
|
||||||
|
<div class="form-check">
|
||||||
|
<input class="form-check-input" type="checkbox" value=""
|
||||||
|
id="form1Example3"
|
||||||
|
checked/>
|
||||||
|
<label class="form-check-label" for="form1Example3">记住密码</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col">
|
||||||
|
<a href="#!">忘记密码?</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button type="submit" class="btn btn-primary btn-block mb-4">登录</button>
|
||||||
|
<%-- 显示错误信息 --%>
|
||||||
|
<!-- Register buttons -->
|
||||||
|
<div class="text-center">
|
||||||
|
<p>还没有账号? <a href="#!">注册一个</a></p>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="tab-pane fade" id="pills-register" role="tabpanel"
|
||||||
|
aria-labelledby="tab-register">
|
||||||
|
<form>
|
||||||
|
<h1 class="text-center mb-4" style="font-family: 'Noto Sans SC Light',serif">
|
||||||
|
用户注册</h1>
|
||||||
|
<div class="form-outline mb-4">
|
||||||
|
<input type="text" id="registerUsername" class="form-control"/>
|
||||||
|
<label class="form-label" for="registerUsername">用户名</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-outline mb-4">
|
||||||
|
<input type="password" id="registerPassword" class="form-control"/>
|
||||||
|
<label class="form-label" for="registerPassword">密码</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-outline mb-4">
|
||||||
|
<input type="password" id="registerRepeatPassword" class="form-control"/>
|
||||||
|
<label class="form-label" for="registerRepeatPassword">重复密码</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-check d-flex justify-content-center mb-4">
|
||||||
|
<input
|
||||||
|
class="form-check-input me-2"
|
||||||
|
type="checkbox"
|
||||||
|
value=""
|
||||||
|
id="registerCheck"
|
||||||
|
checked
|
||||||
|
aria-describedby="registerCheckHelpText"
|
||||||
|
/>
|
||||||
|
<label class="form-check-label" for="registerCheck">
|
||||||
|
我已阅读并同意相关TOS
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<button type="submit" class="btn btn-primary btn-block mb-3">注册</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body style="font-family: 'Noto Sans SC Regular',serif">
|
||||||
<!--Main Navigation-->
|
<!--Main Navigation-->
|
||||||
<header>
|
<header>
|
||||||
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
|
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
|
||||||
@ -129,6 +129,11 @@
|
|||||||
style="background-image: url('${pageContext.request.contextPath}/resources/img/jason-blackeye-nyL-rzwP-Mk-unsplash.jpg'); margin-top: -58.59px;">
|
style="background-image: url('${pageContext.request.contextPath}/resources/img/jason-blackeye-nyL-rzwP-Mk-unsplash.jpg'); margin-top: -58.59px;">
|
||||||
<div class="mask d-flex align-items-center h-100" style="background-color: hsla(0, 0%, 100%, 0.5);">
|
<div class="mask d-flex align-items-center h-100" style="background-color: hsla(0, 0%, 100%, 0.5);">
|
||||||
<div class="container d-flex justify-content-center">
|
<div class="container d-flex justify-content-center">
|
||||||
|
<button type="button" class="btn btn-primary" onclick="function goBack() {
|
||||||
|
window.history.back();
|
||||||
|
}
|
||||||
|
goBack()">返回
|
||||||
|
</button>
|
||||||
<div class="table-container rounded-4 shadow-3-strong"
|
<div class="table-container rounded-4 shadow-3-strong"
|
||||||
style="background-color: rgba(255,255,255,0.9); overflow-y: auto; max-height: 400px;">
|
style="background-color: rgba(255,255,255,0.9); overflow-y: auto; max-height: 400px;">
|
||||||
<table class="table table-striped table-hover border-primary">
|
<table class="table table-striped table-hover border-primary">
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body style="font-family: 'Noto Sans SC Regular',serif">
|
||||||
<!--Main Navigation-->
|
<!--Main Navigation-->
|
||||||
<header>
|
<header>
|
||||||
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
|
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
|
||||||
@ -131,7 +131,26 @@
|
|||||||
<div class="container d-flex justify-content-center">
|
<div class="container d-flex justify-content-center">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body p-4 p-md-5">
|
<div class="card-body p-4 p-md-5">
|
||||||
<h3 class="mb-4 pb-2">数据查询</h3>
|
<h3 class="mb-2 pb-2">数据查询</h3>
|
||||||
|
<!-- Button triggers collapse -->
|
||||||
|
<a
|
||||||
|
class="btn btn-primary mb-3"
|
||||||
|
data-mdb-toggle="collapse"
|
||||||
|
href="#collapseWithScrollbar"
|
||||||
|
role="button"
|
||||||
|
aria-expanded="false"
|
||||||
|
aria-controls="collapseExample"
|
||||||
|
>
|
||||||
|
<i class="fas fa-circle-question"></i>
|
||||||
|
帮助信息
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<!-- Collapsed content -->
|
||||||
|
<div class="collapse scroll-section" id="collapseWithScrollbar" style="max-width: 500px">
|
||||||
|
<div class="note note-primary mb-3">
|
||||||
|
<strong>提示:</strong> 这里的查询分成两类,班级查询与其他信息查询独立
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<form action="query" method="post">
|
<form action="query" method="post">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6 mb-4">
|
<div class="col-md-6 mb-4">
|
||||||
|
@ -0,0 +1,302 @@
|
|||||||
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
|
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
|
||||||
|
<meta http-equiv="x-ua-compatible" content="ie=edge"/>
|
||||||
|
<title>学生信息查看</title>
|
||||||
|
<script src="${pageContext.request.contextPath}/resources/js/jquery-3.7.0.min.js"></script>
|
||||||
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css"/>
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;700;900&display=swap"
|
||||||
|
rel="stylesheet">
|
||||||
|
<link rel="stylesheet" href="${pageContext.request.contextPath}/resources/css/mdb.min.css"/>
|
||||||
|
<link rel="stylesheet" href="${pageContext.request.contextPath}/resources/css/datepicker.min.css"/>
|
||||||
|
<style>
|
||||||
|
.table-container {
|
||||||
|
min-width: 60vw; /* 设置最小宽度为视窗宽度的80% */
|
||||||
|
min-height: 80vh; /* 设置最小高度为视窗高度的80% */
|
||||||
|
/*display: flex;*/
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-container table {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body style="font-family: 'Noto Sans SC Regular',serif">
|
||||||
|
<!--Main Navigation-->
|
||||||
|
<header>
|
||||||
|
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
|
||||||
|
<div class="container">
|
||||||
|
<button class="navbar-toggler" type="button" data-mdb-toggle="collapse"
|
||||||
|
data-mdb-target="#navbarSupportedContent" aria-controls="navbarSupportedContent"
|
||||||
|
aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<i class="fas fa-bars"></i>
|
||||||
|
</button>
|
||||||
|
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||||
|
<a class="navbar-brand mt-2 mt-lg-0" href="#">
|
||||||
|
<i class="fas fa-chalkboard-user me-2"></i>
|
||||||
|
教务管理系统
|
||||||
|
</a>
|
||||||
|
<ul class="navbar-nav">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link active" aria-current="page" href="#">首页</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item dropdown">
|
||||||
|
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown1" role="button"
|
||||||
|
data-mdb-toggle="dropdown" aria-expanded="false">
|
||||||
|
学生管理
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" aria-labelledby="navbarDropdown1">
|
||||||
|
<li><a class="dropdown-item" href="#">学生信息查询</a></li>
|
||||||
|
<li><a class="dropdown-item" href="#">学生信息管理</a></li>
|
||||||
|
<li><a class="dropdown-item" href="#">学生信息管理</a></li>
|
||||||
|
<li>
|
||||||
|
<hr class="dropdown-divider"/>
|
||||||
|
</li>
|
||||||
|
<li><a class="dropdown-item" href="#">学生成绩管理</a></li>
|
||||||
|
<li><a class="dropdown-item" href="#">学生成绩管理</a></li>
|
||||||
|
<li><a class="dropdown-item" href="#">学生成绩管理</a></li>
|
||||||
|
<li>
|
||||||
|
<hr class="dropdown-divider"/>
|
||||||
|
</li>
|
||||||
|
<li><a class="dropdown-item" href="#">学生选课管理</a></li>
|
||||||
|
<li><a class="dropdown-item" href="#">学生选课管理</a></li>
|
||||||
|
<li><a class="dropdown-item" href="#">学生选课管理</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item dropdown">
|
||||||
|
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown2" role="button"
|
||||||
|
data-mdb-toggle="dropdown" aria-expanded="false">
|
||||||
|
教师管理
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" aria-labelledby="navbarDropdown2">
|
||||||
|
<li><a class="dropdown-item" href="#">教师信息管理</a></li>
|
||||||
|
<li><a class="dropdown-item" href="#">教师课程管理</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item dropdown">
|
||||||
|
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown3" role="button"
|
||||||
|
data-mdb-toggle="dropdown" aria-expanded="false">
|
||||||
|
课程管理
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" aria-labelledby="navbarDropdown3">
|
||||||
|
<li><a class="dropdown-item" href="#">课程信息管理</a></li>
|
||||||
|
<li><a class="dropdown-item" href="#">课程安排管理</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item dropdown">
|
||||||
|
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown4" role="button"
|
||||||
|
data-mdb-toggle="dropdown" aria-expanded="false">
|
||||||
|
系统管理
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" aria-labelledby="navbarDropdown4">
|
||||||
|
<li><a class="dropdown-item" href="#">个人设定</a></li>
|
||||||
|
<li><a class="dropdown-item" href="#">用户管理</a></li>
|
||||||
|
<li><a class="dropdown-item" href="#">日志管理</a></li>
|
||||||
|
<li><a class="dropdown-item" href="#">版本信息</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="dropdown">
|
||||||
|
<a class="dropdown-toggle d-flex align-items-center hidden-arrow" href="#"
|
||||||
|
id="navbarDropdownMenuAvatar" role="button" data-mdb-toggle="dropdown" aria-expanded="false">
|
||||||
|
<i class="fas fa-circle-user fa-lg"></i>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdownMenuAvatar">
|
||||||
|
<li>
|
||||||
|
<a class="dropdown-item" href="logout">登出</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<!--Main Navigation-->
|
||||||
|
|
||||||
|
<!--Main layout-->
|
||||||
|
<main>
|
||||||
|
<div class="bg-image shadow-2-strong vh-100"
|
||||||
|
style="background-image: url('${pageContext.request.contextPath}/resources/img/jason-blackeye-nyL-rzwP-Mk-unsplash.jpg'); margin-top: -58.59px;">
|
||||||
|
<div class="mask d-flex align-items-center h-100" style="background-color: hsla(0, 0%, 100%, 0.5);">
|
||||||
|
<div class="container d-flex justify-content-center">
|
||||||
|
<button type="button" class="btn btn-primary" onclick="location.href='../dashboard'">返回</button>
|
||||||
|
<div class="table-container rounded-4 shadow-3-strong"
|
||||||
|
style="background-color: rgba(255,255,255,0.9); overflow-y: auto; max-height: 400px;">
|
||||||
|
<table class="table table-striped table-hover border-primary">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col">ID</th>
|
||||||
|
<th scope="col">姓名</th>
|
||||||
|
<th scope="col">性别</th>
|
||||||
|
<th scope="col">出生日期</th>
|
||||||
|
<th scope="col">联系方式</th>
|
||||||
|
<th scope="col">班级</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:forEach var="student" items="${students}">
|
||||||
|
<tr>
|
||||||
|
<td>${student.id}</td>
|
||||||
|
<td>${student.name}</td>
|
||||||
|
<td>${student.sex}</td>
|
||||||
|
<td>${student.birthday}</td>
|
||||||
|
<td>${student.phone}</td>
|
||||||
|
<td>${student.classes}</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="container">
|
||||||
|
<div class="card rounded-4 shadow-3-strong">
|
||||||
|
<h5 class="card-header">信息修改</h5>
|
||||||
|
<div class="card-body">
|
||||||
|
<form action="modinfo" method="post">
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="form-outline">
|
||||||
|
<input type="number" id="typeText1" class="form-control" required name="id"/>
|
||||||
|
<label class="form-label" for="typeText1">ID (必填)</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="form-outline">
|
||||||
|
<input type="text" id="typeText2" class="form-control"
|
||||||
|
name="name"/>
|
||||||
|
<label class="form-label" for="typeText2">姓名</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="form-outline">
|
||||||
|
<input type="text" id="typeText3" class="form-control" name="sex"/>
|
||||||
|
<label class="form-label" for="typeText3">性别 (男/女)</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="form-outline datepicker">
|
||||||
|
<input type="text" id="typeText4" class="form-control"
|
||||||
|
name="birthday"/>
|
||||||
|
<label class="form-label" for="typeText4">出生日期</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="form-outline">
|
||||||
|
<input type="text" id="typeText5" class="form-control"
|
||||||
|
name="phone"/>
|
||||||
|
<label class="form-label" for="typeText5">联系方式</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="form-outline">
|
||||||
|
<input type="text" id="typeText6" class="form-control"
|
||||||
|
name="classes"/>
|
||||||
|
<label class="form-label" for="typeText6">班级</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<button type="submit" class="btn btn-primary" data-mdb-toggle="tooltip" data-mdb-placement="top" title="留空为不做修改">更改</button>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<button type="reset" class="btn btn-secondary">重置</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Modal -->
|
||||||
|
<div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title" id="exampleModalLabel">
|
||||||
|
<i class="fas fa-circle-exclamation me-2"></i>错误
|
||||||
|
</h5>
|
||||||
|
<button type="button" class="btn-close" data-mdb-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<c:if test="${not empty errorMessage}">
|
||||||
|
${errorMessage}
|
||||||
|
</c:if>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-primary" data-mdb-dismiss="modal">OK</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Modal -->
|
||||||
|
<div class="modal fade" id="exampleModal2" tabindex="-1" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title" id="exampleModalLabel2">
|
||||||
|
<i class="fas fa-circle-check me-2"></i>成功
|
||||||
|
</h5>
|
||||||
|
<button type="button" class="btn-close" data-mdb-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<c:if test="${not empty successMessage}">
|
||||||
|
${successMessage}
|
||||||
|
</c:if>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-primary" data-mdb-dismiss="modal">OK</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<!--Main layout-->
|
||||||
|
|
||||||
|
<!-- Footer -->
|
||||||
|
<footer class="bg-link text-center text-lg-start ">
|
||||||
|
</footer>
|
||||||
|
<!-- Footer -->
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript" src="${pageContext.request.contextPath}/resources/js/mdb.min.js"></script>
|
||||||
|
<script type="text/javascript" src="${pageContext.request.contextPath}/resources/js/datepicker.min.js"></script>
|
||||||
|
<script>
|
||||||
|
$(document).ready(function () {
|
||||||
|
<%-- 判断模型中是否存在错误信息 --%>
|
||||||
|
<c:if test="${not empty errorMessage && errorMessage ne 'null'}">
|
||||||
|
$('#exampleModal').modal('show');
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${not empty successMessage && successMessage ne 'null'}">
|
||||||
|
$('#exampleModal2').modal('show');
|
||||||
|
</c:if>
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
@ -1,5 +1,5 @@
|
|||||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
|
|
||||||
@ -30,7 +30,7 @@
|
|||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body style="font-family: 'Noto Sans SC Regular',serif">
|
||||||
<!--Main Navigation-->
|
<!--Main Navigation-->
|
||||||
<header>
|
<header>
|
||||||
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
|
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
|
||||||
@ -129,6 +129,11 @@
|
|||||||
style="background-image: url('${pageContext.request.contextPath}/resources/img/jason-blackeye-nyL-rzwP-Mk-unsplash.jpg'); margin-top: -58.59px;">
|
style="background-image: url('${pageContext.request.contextPath}/resources/img/jason-blackeye-nyL-rzwP-Mk-unsplash.jpg'); margin-top: -58.59px;">
|
||||||
<div class="mask d-flex align-items-center h-100" style="background-color: hsla(0, 0%, 100%, 0.5);">
|
<div class="mask d-flex align-items-center h-100" style="background-color: hsla(0, 0%, 100%, 0.5);">
|
||||||
<div class="container d-flex justify-content-center">
|
<div class="container d-flex justify-content-center">
|
||||||
|
<button type="button" class="btn btn-primary" onclick="function goBack() {
|
||||||
|
window.history.back();
|
||||||
|
}
|
||||||
|
goBack()">返回
|
||||||
|
</button>
|
||||||
<div class="table-container rounded-4 shadow-3-strong"
|
<div class="table-container rounded-4 shadow-3-strong"
|
||||||
style="background-color: rgba(255,255,255,0.9); overflow-y: auto; max-height: 400px;">
|
style="background-color: rgba(255,255,255,0.9); overflow-y: auto; max-height: 400px;">
|
||||||
<table class="table table-striped table-hover border-primary">
|
<table class="table table-striped table-hover border-primary">
|
||||||
|
@ -48,14 +48,12 @@ public class StudentController {
|
|||||||
@RequestParam(value = "phone", defaultValue = "null", required = false) String phone,
|
@RequestParam(value = "phone", defaultValue = "null", required = false) String phone,
|
||||||
@RequestParam(value = "classes", defaultValue = "", required = false) List<String> classes,
|
@RequestParam(value = "classes", defaultValue = "", required = false) List<String> classes,
|
||||||
Model model) {
|
Model model) {
|
||||||
//根据classes是否为空,判断是否需要查询班级,如果为空则不需要查询班级,如果不为空则仅查询班级
|
// System.out.println("name: " + name);
|
||||||
//debug
|
// System.out.println("birthday: " + birthday);
|
||||||
System.out.println("name: " + name);
|
// System.out.println("option: " + option);
|
||||||
System.out.println("birthday: " + birthday);
|
// System.out.println("id: " + id);
|
||||||
System.out.println("option: " + option);
|
// System.out.println("phone: " + phone);
|
||||||
System.out.println("id: " + id);
|
// System.out.println("classes: " + classes);
|
||||||
System.out.println("phone: " + phone);
|
|
||||||
System.out.println("classes: " + classes);
|
|
||||||
|
|
||||||
List<Student> students;
|
List<Student> students;
|
||||||
Student student;
|
Student student;
|
||||||
@ -73,10 +71,55 @@ public class StudentController {
|
|||||||
|
|
||||||
|
|
||||||
model.addAttribute("students", students);
|
model.addAttribute("students", students);
|
||||||
return "studentQueryResult"; // 重定向到 dashboard 页面
|
return "studentQueryResult";
|
||||||
// return "success";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/modstep1")
|
||||||
|
public String getModStep1(@RequestParam(value = "successMessage", required = false , defaultValue = "null") String successMessage,
|
||||||
|
@RequestParam(value = "errorMessage" ,required = false , defaultValue = "null") String errorMessage,
|
||||||
|
Model model) {
|
||||||
|
List<Student> students = studentService.getAllStudents();
|
||||||
|
model.addAttribute("students", students);
|
||||||
|
// 将消息添加到Model中
|
||||||
|
model.addAttribute("successMessage", successMessage);
|
||||||
|
model.addAttribute("errorMessage", errorMessage);
|
||||||
|
return "studentMod";
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping(value = "/modinfo", produces = "application/x-www-form-urlencoded;charset=UTF-8")
|
||||||
|
public String UpdateModInfo(@RequestParam(value = "name", defaultValue = "null", required = false) String name,
|
||||||
|
@RequestParam(value = "birthday", defaultValue = "#{null}", required = false) Date birthday,
|
||||||
|
@RequestParam(value = "sex", defaultValue = "null", required = false) String sex,
|
||||||
|
@RequestParam(value = "id", defaultValue = "-1", required = false) int id,
|
||||||
|
@RequestParam(value = "phone", defaultValue = "null", required = false) String phone,
|
||||||
|
@RequestParam(value = "classes", defaultValue = "", required = false) String classes,
|
||||||
|
Model model) {
|
||||||
|
System.out.println("name: " + name);
|
||||||
|
System.out.println("birthday: " + birthday);
|
||||||
|
System.out.println("sex: " + sex);
|
||||||
|
System.out.println("id: " + id);
|
||||||
|
System.out.println("phone: " + phone);
|
||||||
|
System.out.println("classes: " + classes);
|
||||||
|
//
|
||||||
|
List<Student> students;
|
||||||
|
Student student;
|
||||||
|
if (name.equals("null")) name = null;
|
||||||
|
if (sex.equals("null")) sex = null;
|
||||||
|
if (phone.equals("null")) phone = null;
|
||||||
|
if (classes.equals("")) classes = null;
|
||||||
|
|
||||||
|
if (id <= -1) {
|
||||||
|
model.addAttribute("errorMessage", "学生信息修改失败");
|
||||||
|
} else {
|
||||||
|
student = new Student(id, name, sex, birthday, phone, classes);
|
||||||
|
studentService.updateStudent(student);
|
||||||
|
model.addAttribute("successMessage", "学生信息修改成功");
|
||||||
|
}
|
||||||
|
return "redirect:/student/modstep1";
|
||||||
|
}
|
||||||
|
// students = studentService.getQueryStudents(student);
|
||||||
|
|
||||||
|
|
||||||
// // 示例:处理查询学生信息的请求
|
// // 示例:处理查询学生信息的请求
|
||||||
// @GetMapping("/{studentId}")
|
// @GetMapping("/{studentId}")
|
||||||
// public String getStudentById(@PathVariable int studentId) {
|
// public String getStudentById(@PathVariable int studentId) {
|
||||||
|
@ -9,11 +9,11 @@ import java.util.List;
|
|||||||
@Repository
|
@Repository
|
||||||
public interface StudentDao {
|
public interface StudentDao {
|
||||||
void insertStudent(Student student);
|
void insertStudent(Student student);
|
||||||
void updateStudent(Student student);
|
|
||||||
void deleteStudent(int studentId);
|
void deleteStudent(int studentId);
|
||||||
Student getStudentById(int studentId);
|
Student getStudentById(int studentId);
|
||||||
List<Student> getAllStudents();
|
List<Student> getAllStudents();
|
||||||
|
|
||||||
List<Student> getQueryStudents(Student student);
|
List<Student> getQueryStudents(Student student);
|
||||||
List<Student> getQueryStudents2(Student student);
|
List<Student> getQueryStudents2(Student student);
|
||||||
|
void updateStudent(Student student);
|
||||||
}
|
}
|
||||||
|
@ -19,10 +19,6 @@ public class StudentService {
|
|||||||
studentDao.insertStudent(student);
|
studentDao.insertStudent(student);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateStudent(Student student) {
|
|
||||||
studentDao.updateStudent(student);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void deleteStudent(int studentId) {
|
public void deleteStudent(int studentId) {
|
||||||
studentDao.deleteStudent(studentId);
|
studentDao.deleteStudent(studentId);
|
||||||
}
|
}
|
||||||
@ -42,4 +38,8 @@ public class StudentService {
|
|||||||
public List<Student> getQueryStudents2(Student student) {
|
public List<Student> getQueryStudents2(Student student) {
|
||||||
return studentDao.getQueryStudents2(student);
|
return studentDao.getQueryStudents2(student);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void updateStudent(Student student) {
|
||||||
|
studentDao.updateStudent(student);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -36,5 +36,17 @@
|
|||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
<update id="updateStudent" parameterType="cyou.chenx221.pojo.Student">
|
||||||
|
UPDATE student
|
||||||
|
SET
|
||||||
|
<trim suffixOverrides=",">
|
||||||
|
<if test="name != null">name = #{name},</if>
|
||||||
|
<if test="sex != null">sex = #{sex},</if>
|
||||||
|
<if test="birthday != null">birthday = #{birthday},</if>
|
||||||
|
<if test="phone != null">phone = #{phone},</if>
|
||||||
|
<if test="classes != null">classes = #{classes},</if>
|
||||||
|
</trim>
|
||||||
|
WHERE id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/resources/css/mdb.min.css" />
|
<link rel="stylesheet" href="${pageContext.request.contextPath}/resources/css/mdb.min.css" />
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body style="font-family: 'Noto Sans SC Regular',serif">
|
||||||
<!--Main Navigation-->
|
<!--Main Navigation-->
|
||||||
<header>
|
<header>
|
||||||
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
|
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
|
||||||
@ -42,10 +42,10 @@
|
|||||||
<ul class="dropdown-menu" aria-labelledby="navbarDropdown1">
|
<ul class="dropdown-menu" aria-labelledby="navbarDropdown1">
|
||||||
<li><a class="dropdown-item" href="student/all">学生信息显示</a></li>
|
<li><a class="dropdown-item" href="student/all">学生信息显示</a></li>
|
||||||
<li><a class="dropdown-item" href="student/queryinfo">学生信息查询</a></li>
|
<li><a class="dropdown-item" href="student/queryinfo">学生信息查询</a></li>
|
||||||
<li><a class="dropdown-item" href="#">学生信息修改</a></li>
|
<li><a class="dropdown-item" href="student/modstep1">学生信息修改</a></li>
|
||||||
<li><a class="dropdown-item" href="#">学生信息添加</a></li>
|
<li><a class="dropdown-item" href="#">学生信息添加</a></li>
|
||||||
<li><a class="dropdown-item" href="#">学生信息删除</a></li>
|
<li><a class="dropdown-item" href="#">学生信息删除</a></li>
|
||||||
<li><a class="dropdown-item" href="#">自己输入sql语句查</a></li>
|
<li><a class="dropdown-item disabled">自己输入sql语句查(没做)</a></li>
|
||||||
<li>
|
<li>
|
||||||
<hr class="dropdown-divider" />
|
<hr class="dropdown-divider" />
|
||||||
</li>
|
</li>
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body style="font-family: 'Noto Sans SC Regular',serif">
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
|
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
|
||||||
@ -59,36 +59,103 @@
|
|||||||
<div class="container d-flex align-items-center justify-content-center h-100">
|
<div class="container d-flex align-items-center justify-content-center h-100">
|
||||||
<div style="background-color: rgba(255,255,255,0.7);backdrop-filter: blur(30px)"
|
<div style="background-color: rgba(255,255,255,0.7);backdrop-filter: blur(30px)"
|
||||||
class="rounded-5 shadow-5-strong p-5">
|
class="rounded-5 shadow-5-strong p-5">
|
||||||
<form action="signin" method="POST">
|
<!-- Pills navs -->
|
||||||
<h1 class="text-center mb-4" style="font-family: 'Noto Sans SC Light',serif">用户登录</h1>
|
<ul class="nav nav-pills nav-justified mb-3" id="ex1" role="tablist">
|
||||||
<div class="form-outline mb-4">
|
<li class="nav-item" role="presentation">
|
||||||
<input type="text" id="form1Example1" class="form-control" name="username"/>
|
<a
|
||||||
<label class="form-label" for="form1Example1">用户名</label>
|
class="nav-link active"
|
||||||
</div>
|
id="tab-login"
|
||||||
<div class="form-outline mb-4">
|
data-mdb-toggle="pill"
|
||||||
<input type="password" id="form1Example2" class="form-control" name="password"/>
|
href="#pills-login"
|
||||||
<label class="form-label" for="form1Example2">密码</label>
|
role="tab"
|
||||||
</div>
|
aria-controls="pills-login"
|
||||||
<div class="row">
|
aria-selected="true"
|
||||||
<div class="col d-flex justify-content-center">
|
>登录</a>
|
||||||
<div class="form-check">
|
</li>
|
||||||
<input class="form-check-input" type="checkbox" value=""
|
<li class="nav-item" role="presentation">
|
||||||
id="form1Example3"
|
<a
|
||||||
checked/>
|
class="nav-link"
|
||||||
<label class="form-check-label" for="form1Example3">记住密码</label>
|
id="tab-register"
|
||||||
</div>
|
data-mdb-toggle="pill"
|
||||||
</div>
|
href="#pills-register"
|
||||||
<div class="col">
|
role="tab"
|
||||||
<a href="#!">忘记密码?</a>
|
aria-controls="pills-register"
|
||||||
</div>
|
aria-selected="false"
|
||||||
</div>
|
>注册</a>
|
||||||
<button type="button" class="btn btn-tertiary btn-block mx-auto"
|
</li>
|
||||||
data-mdb-ripple-color="light">没有账户? 注册账户
|
</ul>
|
||||||
</button>
|
<!-- Pills navs -->
|
||||||
<button type="submit" class="btn btn-primary btn-block">登录</button>
|
|
||||||
<%-- 显示错误信息 --%>
|
|
||||||
|
|
||||||
</form>
|
<!-- Pills content -->
|
||||||
|
<div class="tab-content">
|
||||||
|
<div class="tab-pane fade show active" id="pills-login" role="tabpanel"
|
||||||
|
aria-labelledby="tab-login">
|
||||||
|
<form action="signin" method="POST">
|
||||||
|
<h1 class="text-center mb-4" style="font-family: 'Noto Sans SC Light',serif">
|
||||||
|
用户登录</h1>
|
||||||
|
<div class="form-outline mb-4">
|
||||||
|
<input type="text" id="form1Example1" class="form-control" name="username"/>
|
||||||
|
<label class="form-label" for="form1Example1">用户名</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-outline mb-4">
|
||||||
|
<input type="password" id="form1Example2" class="form-control" name="password"/>
|
||||||
|
<label class="form-label" for="form1Example2">密码</label>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-4">
|
||||||
|
<div class="col d-flex justify-content-center">
|
||||||
|
<div class="form-check">
|
||||||
|
<input class="form-check-input" type="checkbox" value=""
|
||||||
|
id="form1Example3"
|
||||||
|
checked/>
|
||||||
|
<label class="form-check-label" for="form1Example3">记住密码</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col">
|
||||||
|
<a href="#!">忘记密码?</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button type="submit" class="btn btn-primary btn-block mb-4">登录</button>
|
||||||
|
<%-- 显示错误信息 --%>
|
||||||
|
<!-- Register buttons -->
|
||||||
|
<div class="text-center">
|
||||||
|
<p>还没有账号? <a href="#!">注册一个</a></p>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="tab-pane fade" id="pills-register" role="tabpanel"
|
||||||
|
aria-labelledby="tab-register">
|
||||||
|
<form>
|
||||||
|
<h1 class="text-center mb-4" style="font-family: 'Noto Sans SC Light',serif">
|
||||||
|
用户注册</h1>
|
||||||
|
<div class="form-outline mb-4">
|
||||||
|
<input type="text" id="registerUsername" class="form-control"/>
|
||||||
|
<label class="form-label" for="registerUsername">用户名</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-outline mb-4">
|
||||||
|
<input type="password" id="registerPassword" class="form-control"/>
|
||||||
|
<label class="form-label" for="registerPassword">密码</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-outline mb-4">
|
||||||
|
<input type="password" id="registerRepeatPassword" class="form-control"/>
|
||||||
|
<label class="form-label" for="registerRepeatPassword">重复密码</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-check d-flex justify-content-center mb-4">
|
||||||
|
<input
|
||||||
|
class="form-check-input me-2"
|
||||||
|
type="checkbox"
|
||||||
|
value=""
|
||||||
|
id="registerCheck"
|
||||||
|
checked
|
||||||
|
aria-describedby="registerCheckHelpText"
|
||||||
|
/>
|
||||||
|
<label class="form-check-label" for="registerCheck">
|
||||||
|
我已阅读并同意相关TOS
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<button type="submit" class="btn btn-primary btn-block mb-3">注册</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body style="font-family: 'Noto Sans SC Regular',serif">
|
||||||
<!--Main Navigation-->
|
<!--Main Navigation-->
|
||||||
<header>
|
<header>
|
||||||
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
|
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
|
||||||
@ -129,6 +129,11 @@
|
|||||||
style="background-image: url('${pageContext.request.contextPath}/resources/img/jason-blackeye-nyL-rzwP-Mk-unsplash.jpg'); margin-top: -58.59px;">
|
style="background-image: url('${pageContext.request.contextPath}/resources/img/jason-blackeye-nyL-rzwP-Mk-unsplash.jpg'); margin-top: -58.59px;">
|
||||||
<div class="mask d-flex align-items-center h-100" style="background-color: hsla(0, 0%, 100%, 0.5);">
|
<div class="mask d-flex align-items-center h-100" style="background-color: hsla(0, 0%, 100%, 0.5);">
|
||||||
<div class="container d-flex justify-content-center">
|
<div class="container d-flex justify-content-center">
|
||||||
|
<button type="button" class="btn btn-primary" onclick="function goBack() {
|
||||||
|
window.history.back();
|
||||||
|
}
|
||||||
|
goBack()">返回
|
||||||
|
</button>
|
||||||
<div class="table-container rounded-4 shadow-3-strong"
|
<div class="table-container rounded-4 shadow-3-strong"
|
||||||
style="background-color: rgba(255,255,255,0.9); overflow-y: auto; max-height: 400px;">
|
style="background-color: rgba(255,255,255,0.9); overflow-y: auto; max-height: 400px;">
|
||||||
<table class="table table-striped table-hover border-primary">
|
<table class="table table-striped table-hover border-primary">
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body style="font-family: 'Noto Sans SC Regular',serif">
|
||||||
<!--Main Navigation-->
|
<!--Main Navigation-->
|
||||||
<header>
|
<header>
|
||||||
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
|
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
|
||||||
@ -131,7 +131,26 @@
|
|||||||
<div class="container d-flex justify-content-center">
|
<div class="container d-flex justify-content-center">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body p-4 p-md-5">
|
<div class="card-body p-4 p-md-5">
|
||||||
<h3 class="mb-4 pb-2">数据查询</h3>
|
<h3 class="mb-2 pb-2">数据查询</h3>
|
||||||
|
<!-- Button triggers collapse -->
|
||||||
|
<a
|
||||||
|
class="btn btn-primary mb-3"
|
||||||
|
data-mdb-toggle="collapse"
|
||||||
|
href="#collapseWithScrollbar"
|
||||||
|
role="button"
|
||||||
|
aria-expanded="false"
|
||||||
|
aria-controls="collapseExample"
|
||||||
|
>
|
||||||
|
<i class="fas fa-circle-question"></i>
|
||||||
|
帮助信息
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<!-- Collapsed content -->
|
||||||
|
<div class="collapse scroll-section" id="collapseWithScrollbar" style="max-width: 500px">
|
||||||
|
<div class="note note-primary mb-3">
|
||||||
|
<strong>提示:</strong> 这里的查询分成两类,班级查询与其他信息查询独立
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<form action="query" method="post">
|
<form action="query" method="post">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6 mb-4">
|
<div class="col-md-6 mb-4">
|
||||||
|
302
project2/web/WEB-INF/views/studentMod.jsp
Normal file
302
project2/web/WEB-INF/views/studentMod.jsp
Normal file
@ -0,0 +1,302 @@
|
|||||||
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
|
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
|
||||||
|
<meta http-equiv="x-ua-compatible" content="ie=edge"/>
|
||||||
|
<title>学生信息查看</title>
|
||||||
|
<script src="${pageContext.request.contextPath}/resources/js/jquery-3.7.0.min.js"></script>
|
||||||
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css"/>
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;700;900&display=swap"
|
||||||
|
rel="stylesheet">
|
||||||
|
<link rel="stylesheet" href="${pageContext.request.contextPath}/resources/css/mdb.min.css"/>
|
||||||
|
<link rel="stylesheet" href="${pageContext.request.contextPath}/resources/css/datepicker.min.css"/>
|
||||||
|
<style>
|
||||||
|
.table-container {
|
||||||
|
min-width: 60vw; /* 设置最小宽度为视窗宽度的80% */
|
||||||
|
min-height: 80vh; /* 设置最小高度为视窗高度的80% */
|
||||||
|
/*display: flex;*/
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-container table {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body style="font-family: 'Noto Sans SC Regular',serif">
|
||||||
|
<!--Main Navigation-->
|
||||||
|
<header>
|
||||||
|
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
|
||||||
|
<div class="container">
|
||||||
|
<button class="navbar-toggler" type="button" data-mdb-toggle="collapse"
|
||||||
|
data-mdb-target="#navbarSupportedContent" aria-controls="navbarSupportedContent"
|
||||||
|
aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<i class="fas fa-bars"></i>
|
||||||
|
</button>
|
||||||
|
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||||
|
<a class="navbar-brand mt-2 mt-lg-0" href="#">
|
||||||
|
<i class="fas fa-chalkboard-user me-2"></i>
|
||||||
|
教务管理系统
|
||||||
|
</a>
|
||||||
|
<ul class="navbar-nav">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link active" aria-current="page" href="#">首页</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item dropdown">
|
||||||
|
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown1" role="button"
|
||||||
|
data-mdb-toggle="dropdown" aria-expanded="false">
|
||||||
|
学生管理
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" aria-labelledby="navbarDropdown1">
|
||||||
|
<li><a class="dropdown-item" href="#">学生信息查询</a></li>
|
||||||
|
<li><a class="dropdown-item" href="#">学生信息管理</a></li>
|
||||||
|
<li><a class="dropdown-item" href="#">学生信息管理</a></li>
|
||||||
|
<li>
|
||||||
|
<hr class="dropdown-divider"/>
|
||||||
|
</li>
|
||||||
|
<li><a class="dropdown-item" href="#">学生成绩管理</a></li>
|
||||||
|
<li><a class="dropdown-item" href="#">学生成绩管理</a></li>
|
||||||
|
<li><a class="dropdown-item" href="#">学生成绩管理</a></li>
|
||||||
|
<li>
|
||||||
|
<hr class="dropdown-divider"/>
|
||||||
|
</li>
|
||||||
|
<li><a class="dropdown-item" href="#">学生选课管理</a></li>
|
||||||
|
<li><a class="dropdown-item" href="#">学生选课管理</a></li>
|
||||||
|
<li><a class="dropdown-item" href="#">学生选课管理</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item dropdown">
|
||||||
|
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown2" role="button"
|
||||||
|
data-mdb-toggle="dropdown" aria-expanded="false">
|
||||||
|
教师管理
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" aria-labelledby="navbarDropdown2">
|
||||||
|
<li><a class="dropdown-item" href="#">教师信息管理</a></li>
|
||||||
|
<li><a class="dropdown-item" href="#">教师课程管理</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item dropdown">
|
||||||
|
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown3" role="button"
|
||||||
|
data-mdb-toggle="dropdown" aria-expanded="false">
|
||||||
|
课程管理
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" aria-labelledby="navbarDropdown3">
|
||||||
|
<li><a class="dropdown-item" href="#">课程信息管理</a></li>
|
||||||
|
<li><a class="dropdown-item" href="#">课程安排管理</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item dropdown">
|
||||||
|
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown4" role="button"
|
||||||
|
data-mdb-toggle="dropdown" aria-expanded="false">
|
||||||
|
系统管理
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" aria-labelledby="navbarDropdown4">
|
||||||
|
<li><a class="dropdown-item" href="#">个人设定</a></li>
|
||||||
|
<li><a class="dropdown-item" href="#">用户管理</a></li>
|
||||||
|
<li><a class="dropdown-item" href="#">日志管理</a></li>
|
||||||
|
<li><a class="dropdown-item" href="#">版本信息</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="dropdown">
|
||||||
|
<a class="dropdown-toggle d-flex align-items-center hidden-arrow" href="#"
|
||||||
|
id="navbarDropdownMenuAvatar" role="button" data-mdb-toggle="dropdown" aria-expanded="false">
|
||||||
|
<i class="fas fa-circle-user fa-lg"></i>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdownMenuAvatar">
|
||||||
|
<li>
|
||||||
|
<a class="dropdown-item" href="logout">登出</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<!--Main Navigation-->
|
||||||
|
|
||||||
|
<!--Main layout-->
|
||||||
|
<main>
|
||||||
|
<div class="bg-image shadow-2-strong vh-100"
|
||||||
|
style="background-image: url('${pageContext.request.contextPath}/resources/img/jason-blackeye-nyL-rzwP-Mk-unsplash.jpg'); margin-top: -58.59px;">
|
||||||
|
<div class="mask d-flex align-items-center h-100" style="background-color: hsla(0, 0%, 100%, 0.5);">
|
||||||
|
<div class="container d-flex justify-content-center">
|
||||||
|
<button type="button" class="btn btn-primary" onclick="location.href='../dashboard'">返回</button>
|
||||||
|
<div class="table-container rounded-4 shadow-3-strong"
|
||||||
|
style="background-color: rgba(255,255,255,0.9); overflow-y: auto; max-height: 400px;">
|
||||||
|
<table class="table table-striped table-hover border-primary">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col">ID</th>
|
||||||
|
<th scope="col">姓名</th>
|
||||||
|
<th scope="col">性别</th>
|
||||||
|
<th scope="col">出生日期</th>
|
||||||
|
<th scope="col">联系方式</th>
|
||||||
|
<th scope="col">班级</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:forEach var="student" items="${students}">
|
||||||
|
<tr>
|
||||||
|
<td>${student.id}</td>
|
||||||
|
<td>${student.name}</td>
|
||||||
|
<td>${student.sex}</td>
|
||||||
|
<td>${student.birthday}</td>
|
||||||
|
<td>${student.phone}</td>
|
||||||
|
<td>${student.classes}</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="container">
|
||||||
|
<div class="card rounded-4 shadow-3-strong">
|
||||||
|
<h5 class="card-header">信息修改</h5>
|
||||||
|
<div class="card-body">
|
||||||
|
<form action="modinfo" method="post">
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="form-outline">
|
||||||
|
<input type="number" id="typeText1" class="form-control" required name="id"/>
|
||||||
|
<label class="form-label" for="typeText1">ID (必填)</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="form-outline">
|
||||||
|
<input type="text" id="typeText2" class="form-control"
|
||||||
|
name="name"/>
|
||||||
|
<label class="form-label" for="typeText2">姓名</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="form-outline">
|
||||||
|
<input type="text" id="typeText3" class="form-control" name="sex"/>
|
||||||
|
<label class="form-label" for="typeText3">性别 (男/女)</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="form-outline datepicker">
|
||||||
|
<input type="text" id="typeText4" class="form-control"
|
||||||
|
name="birthday"/>
|
||||||
|
<label class="form-label" for="typeText4">出生日期</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="form-outline">
|
||||||
|
<input type="text" id="typeText5" class="form-control"
|
||||||
|
name="phone"/>
|
||||||
|
<label class="form-label" for="typeText5">联系方式</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="form-outline">
|
||||||
|
<input type="text" id="typeText6" class="form-control"
|
||||||
|
name="classes"/>
|
||||||
|
<label class="form-label" for="typeText6">班级</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<button type="submit" class="btn btn-primary" data-mdb-toggle="tooltip" data-mdb-placement="top" title="留空为不做修改">更改</button>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<button type="reset" class="btn btn-secondary">重置</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Modal -->
|
||||||
|
<div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title" id="exampleModalLabel">
|
||||||
|
<i class="fas fa-circle-exclamation me-2"></i>错误
|
||||||
|
</h5>
|
||||||
|
<button type="button" class="btn-close" data-mdb-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<c:if test="${not empty errorMessage}">
|
||||||
|
${errorMessage}
|
||||||
|
</c:if>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-primary" data-mdb-dismiss="modal">OK</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Modal -->
|
||||||
|
<div class="modal fade" id="exampleModal2" tabindex="-1" aria-labelledby="exampleModalLabel2" aria-hidden="true">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title" id="exampleModalLabel2">
|
||||||
|
<i class="fas fa-circle-check me-2"></i>成功
|
||||||
|
</h5>
|
||||||
|
<button type="button" class="btn-close" data-mdb-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<c:if test="${not empty successMessage}">
|
||||||
|
${successMessage}
|
||||||
|
</c:if>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-primary" data-mdb-dismiss="modal">OK</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<!--Main layout-->
|
||||||
|
|
||||||
|
<!-- Footer -->
|
||||||
|
<footer class="bg-link text-center text-lg-start ">
|
||||||
|
</footer>
|
||||||
|
<!-- Footer -->
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript" src="${pageContext.request.contextPath}/resources/js/mdb.min.js"></script>
|
||||||
|
<script type="text/javascript" src="${pageContext.request.contextPath}/resources/js/datepicker.min.js"></script>
|
||||||
|
<script>
|
||||||
|
$(document).ready(function () {
|
||||||
|
<%-- 判断模型中是否存在错误信息 --%>
|
||||||
|
<c:if test="${not empty errorMessage && errorMessage ne 'null'}">
|
||||||
|
$('#exampleModal').modal('show');
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${not empty successMessage && successMessage ne 'null'}">
|
||||||
|
$('#exampleModal2').modal('show');
|
||||||
|
</c:if>
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
@ -1,5 +1,5 @@
|
|||||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
|
|
||||||
@ -30,7 +30,7 @@
|
|||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body style="font-family: 'Noto Sans SC Regular',serif">
|
||||||
<!--Main Navigation-->
|
<!--Main Navigation-->
|
||||||
<header>
|
<header>
|
||||||
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
|
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
|
||||||
@ -129,6 +129,11 @@
|
|||||||
style="background-image: url('${pageContext.request.contextPath}/resources/img/jason-blackeye-nyL-rzwP-Mk-unsplash.jpg'); margin-top: -58.59px;">
|
style="background-image: url('${pageContext.request.contextPath}/resources/img/jason-blackeye-nyL-rzwP-Mk-unsplash.jpg'); margin-top: -58.59px;">
|
||||||
<div class="mask d-flex align-items-center h-100" style="background-color: hsla(0, 0%, 100%, 0.5);">
|
<div class="mask d-flex align-items-center h-100" style="background-color: hsla(0, 0%, 100%, 0.5);">
|
||||||
<div class="container d-flex justify-content-center">
|
<div class="container d-flex justify-content-center">
|
||||||
|
<button type="button" class="btn btn-primary" onclick="function goBack() {
|
||||||
|
window.history.back();
|
||||||
|
}
|
||||||
|
goBack()">返回
|
||||||
|
</button>
|
||||||
<div class="table-container rounded-4 shadow-3-strong"
|
<div class="table-container rounded-4 shadow-3-strong"
|
||||||
style="background-color: rgba(255,255,255,0.9); overflow-y: auto; max-height: 400px;">
|
style="background-color: rgba(255,255,255,0.9); overflow-y: auto; max-height: 400px;">
|
||||||
<table class="table table-striped table-hover border-primary">
|
<table class="table table-striped table-hover border-primary">
|
||||||
|
Reference in New Issue
Block a user