/*!
* Bootstrap v5.0.2 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('@popperjs/core')) :
typeof define === 'function' && define.amd ? define(['@popperjs/core'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.bootstrap = factory(global.Popper));
}(this, (function (Popper) { 'use strict';
function _interopNamespace(e) {
if (e && e.__esModule) return e;
var n = Object.create(null);
if (e) {
Object.keys(e).forEach(function (k) {
if (k !== 'default') {
var d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: function () {
return e[k];
}
});
}
});
}
n['default'] = e;
return Object.freeze(n);
}
var Popper__namespace = /*#__PURE__*/_interopNamespace(Popper);
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.2): dom/selector-engine.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
const NODE_TEXT = 3;
const SelectorEngine = {
find(selector, element = document.documentElement) {
return [].concat(...Element.prototype.querySelectorAll.call(element, selector));
},
findOne(selector, element = document.documentElement) {
return Element.prototype.querySelector.call(element, selector);
},
children(element, selector) {
return [].concat(...element.children).filter(child => child.matches(selector));
},
parents(element, selector) {
const parents = [];
let ancestor = element.parentNode;
while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {
if (ancestor.matches(selector)) {
parents.push(ancestor);
}
ancestor = ancestor.parentNode;
}
return parents;
},
prev(element, selector) {
let previous = element.previousElementSibling;
while (previous) {
if (previous.matches(selector)) {
return [previous];
}
previous = previous.previousElementSibling;
}
return [];
},
next(element, selector) {
let next = element.nextElementSibling;
while (next) {
if (next.matches(selector)) {
return [next];
}
next = next.nextElementSibling;
}
return [];
}
};
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.2): util/index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
const MAX_UID = 1000000;
const MILLISECONDS_MULTIPLIER = 1000;
const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
const toType = obj => {
if (obj === null || obj === undefined) {
return `${obj}`;
}
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
};
/**
* --------------------------------------------------------------------------
* Public Util Api
* --------------------------------------------------------------------------
*/
const getUID = prefix => {
do {
prefix += Math.floor(Math.random() * MAX_UID);
} while (document.getElementById(prefix));
return prefix;
};
const getSelector = element => {
let selector = element.getAttribute('data-bs-target');
if (!selector || selector === '#') {
let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,
// so everything starting with `#` or `.`. If a "real" URL is used as the selector,
// `document.querySelector` will rightfully complain it is invalid.
// See https://github.com/twbs/bootstrap/issues/32273
if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) {
return null;
} // Just in case some CMS puts out a full URL with the anchor appended
if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {
hrefAttr = `#${hrefAttr.split('#')[1]}`;
}
selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;
}
return selector;
};
const getSelectorFromElement = element => {
const selector = getSelector(element);
if (selector) {
return document.querySelector(selector) ? selector : null;
}
return null;
};
const getElementFromSelector = element => {
const selector = getSelector(element);
return selector ? document.querySelector(selector) : null;
};
const getTransitionDurationFromElement = element => {
if (!element) {
return 0;
} // Get transition-duration of the element
let {
transitionDuration,
transitionDelay
} = window.getComputedStyle(element);
const floatTransitionDuration = Number.parseFloat(transitionDuration);
const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
if (!floatTransitionDuration && !floatTransitionDelay) {
return 0;
} // If multiple durations are defined, take the first
transitionDuration = transitionDuration.split(',')[0];
transitionDelay = transitionDelay.split(',')[0];
return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
};
const triggerTransitionEnd = element => {
element.dispatchEvent(new Event(TRANSITION_END));
};
const isElement = obj => {
if (!obj || typeof obj !== 'object') {
return false;
}
if (typeof obj.jquery !== 'undefined') {
obj = obj[0];
}
return typeof obj.nodeType !== 'undefined';
};
const getElement = obj => {
if (isElement(obj)) {
// it's a jQuery object or a node element
return obj.jquery ? obj[0] : obj;
}
if (typeof obj === 'string' && obj.length > 0) {
return SelectorEngine.findOne(obj);
}
return null;
};
const typeCheckConfig = (componentName, config, configTypes) => {
Object.keys(configTypes).forEach(property => {
const expectedTypes = configTypes[property];
const value = config[property];
const valueType = value && isElement(value) ? 'element' : toType(value);
if (!new RegExp(expectedTypes).test(valueType)) {
throw new TypeError(`${componentName.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`);
}
});
};
const isVisible = element => {
if (!isElement(element) || element.getClientRects().length === 0) {
return false;
}
return getComputedStyle(element).getPropertyValue('visibility') === 'visible';
};
const isDisabled = element => {
if (!element || element.nodeType !== Node.ELEMENT_NODE) {
return true;
}
if (element.classList.contains('disabled')) {
return true;
}
if (typeof element.disabled !== 'undefined') {
return element.disabled;
}
return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';
};
const findShadowRoot = element => {
if (!document.documentElement.attachShadow) {
return null;
} // Can find the shadow root otherwise it'll re
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于Java+ssm+mysql+jsp学生选课管理系统(高分毕设)已获导师指导并通过的95分的高分期末大作业项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 功能展示 1.课程列表(学生) 2.已选课程(学生) 3.已修课程(学生) 4.我的课程(老师) 5.课程打分(老师) 6.课程管理、学生管理、教师管理(系统管理员)
资源推荐
资源详情
资源评论
收起资源包目录
基于Java+ssm+mysql+jsp学生选课管理系统(高分毕设) (173个子文件)
CourseExample$GeneratedCriteria.class 18KB
TeacherExample$GeneratedCriteria.class 18KB
StudentExample$GeneratedCriteria.class 14KB
CourseExample$Criteria.class 12KB
AdminController.class 12KB
TeacherExample$Criteria.class 11KB
UserloginExample$GeneratedCriteria.class 10KB
StudentExample$Criteria.class 8KB
RoleExample$GeneratedCriteria.class 8KB
SelectedcourseExample$GeneratedCriteria.class 7KB
StudentServiceImpl.class 7KB
CollegeExample$GeneratedCriteria.class 6KB
CourseServiceImpl.class 6KB
TeacherServiceImpl.class 6KB
UserloginExample$Criteria.class 6KB
SelectedCourseServiceImpl.class 5KB
RoleExample$Criteria.class 5KB
StudentController.class 5KB
SelectedcourseExample$Criteria.class 4KB
TeacherController.class 4KB
CollegeExample$Criteria.class 4KB
LoginRealm.class 3KB
UserloginServiceImpl.class 2KB
Course.class 2KB
SelectedcourseExample$Criterion.class 2KB
UserloginExample$Criterion.class 2KB
SelectedcourseExample.class 2KB
CollegeExample$Criterion.class 2KB
StudentExample$Criterion.class 2KB
TeacherExample$Criterion.class 2KB
CourseExample$Criterion.class 2KB
RoleExample$Criterion.class 2KB
Teacher.class 2KB
UserloginExample.class 2KB
StudentExample.class 2KB
TeacherExample.class 2KB
CollegeExample.class 2KB
CourseExample.class 2KB
RoleExample.class 2KB
RestPasswordController.class 2KB
CustomExceptionResolver.class 2KB
PagingVO.class 2KB
LoginController.class 2KB
Student.class 2KB
Userlogin.class 1KB
CollegeServiceImpl.class 1KB
SelectedCourseCustom.class 1KB
CustomDateConverter.class 1KB
Role.class 1KB
StudentCustom.class 1KB
UserloginMapper.class 988B
CollegeMapper.class 968B
StudentMapper.class 968B
TeacherMapper.class 968B
CourseMapper.class 958B
StudentService.class 954B
TeacherService.class 954B
Selectedcourse.class 947B
RoleMapper.class 938B
SelectedCourseService.class 930B
College.class 924B
CourseService.class 894B
RoleServiceImpl.class 850B
SelectedcourseMapper.class 830B
UserloginCustom.class 601B
CustomException.class 592B
TeacherCustom.class 580B
CourseCustom.class 576B
StudentMapperCustom.class 473B
UserloginService.class 446B
TeacherMapperCustom.class 361B
CourseMapperCustom.class 358B
CollegeCustom.class 309B
CollegeService.class 284B
UserloginMapperCustom.class 271B
RoleService.class 237B
bootstrap.css 191KB
bootstrap.min.css 152KB
bootstrap-theme.css 26KB
bootstrap-theme.min.css 23KB
bootstrap-admin-theme.css 12KB
glyphicons-halflings-regular.eot 20KB
mysql-connector-java-8.0.25.jar 2.32MB
mysql-connector-java-8.0.21.jar 2.29MB
aspectjweaver-1.8.10.jar 1.84MB
protobuf-java-3.11.4.jar 1.58MB
mybatis-3.4.1.jar 1.51MB
spring-context-4.3.8.RELEASE.jar 1.09MB
spring-core-4.3.8.RELEASE.jar 1.07MB
spring-webmvc-4.3.7.RELEASE.jar 894KB
spring-web-4.3.8.RELEASE.jar 799KB
spring-beans-4.3.8.RELEASE.jar 745KB
hibernate-validator-5.4.1.Final.jar 744KB
mchange-commons-java-0.2.11.jar 592KB
mybatis-generator-core-1.3.5.jar 543KB
c3p0-0.9.5.2.jar 486KB
log4j-1.2.17.jar 478KB
spring-jdbc-4.2.5.RELEASE.jar 414KB
jstl-1.2.jar 405KB
spring-aop-4.3.9.RELEASE.jar 372KB
共 173 条
- 1
- 2
资源评论
小码叔
- 粉丝: 5116
- 资源: 5484
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功