学生模块-查看个人课表

效果图:

数据库表设计(前期的表设计,实际稍微有改动):

实际的排课表实体类:

package com.edu.entity;

import java.io.Serializable;

import javax.persistence.CascadeType;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.GenerationType;

import javax.persistence.Id;

import javax.persistence.JoinColumn;

import javax.persistence.ManyToOne;

import javax.persistence.SequenceGenerator;

import javax.persistence.Table;

/**

* 课程时间表

*

* xukai 2016年5月26日下午2:07:44

*/

@Entity

@Table(name = "tms_course_timetable")

public class CourseTimetable implements Serializable {

/**

*

*/

private static final long serialVersionUID = -4427937078756586298L;

@Id

@SequenceGenerator(name = "seq_gener_timetable", allocationSize = 1, sequenceName = "seq_course_timetable",initialValue=1)

@GeneratedValue(generator = "seq_gener_timetable", strategy = GenerationType.SEQUENCE)

private Integer id;

@ManyToOne(targetEntity = Course.class, cascade = { CascadeType.REFRESH, CascadeType.PERSIST })

@JoinColumn(name = "course_no")

private Course course;

private String time;//节次

/**

* 上课地点: 教学楼-教室地点 C2001

*/

private String location;

private String remarks;

private String status;

private String day;//星期

}Dao层的数据查询方法:

@Override

public List findByStuNo(String stuNo) {

List list = null;

StringBuilder hql = new StringBuilder("From CourseTimetable as t,StuCourse as s Where s.course.courseNo ="

+ "t.course.courseNo and s.student.stuNo = ? ");

List params = new ArrayList<>();

if(stuNo != null){

//条件查询

params.add(stuNo);

}

list = (List) super.getHibernateTemplate().find(hql.toString(), params.toArray());

return list;

}Action的数据传输:

@Action(value = "/view_mine_course",results={

@Result(name = "course_timetable",location = "/student/course_timetable.jsp")

})

public String viewCourse(){

List timetables = timetableService.queryByStuNo((String)this.session.get("id"));

this.request.put("day", EnumTimetableDay.toMap());

this.request.put("time", EnumTimetableTime.toMap());

this.request.put("list", timetables);

return "course_timetable";

}这里还添加了两个枚举:

星期枚举

package com.edu.enums;

import java.util.HashMap;

import java.util.Map;

/**

* 时间表星期几

*

* xukai 2016年5月26日下午3:22:15

*/

public enum EnumTimetableDay {

Monday("1","星期一"),

Tuesday("2","星期二"),

Wednesday("3","星期三"),

Thursday("4","星期四"),

Friday("5","星期五"),

Saturday("6","星期六"),

Sunday("7","星期日");

private String code;

private String value;

private EnumTimetableDay(String code, String value) {

this.code = code;

this.value = value;

}

public static Map toMap() {

Map map = new HashMap<>();

for (EnumTimetableDay type : values()) {

map.put(type.getCode(), type.getValue());

}

return map;

}

}节次枚举:

package com.edu.enums;

import java.util.HashMap;

import java.util.Map;

/**

* 课程时间表 节次

*

* xukai 2016年5月26日下午3:27:08

*/

public enum EnumTimetableTime {

ONE("1","第一~二节"),

TWO("2","第三~四节"),

THREE("3","第五~六节"),

FOUR("4","第七~八节"),

FIVES("5","第九~十节"),

SIX("6","第十一~十二节");

private String code;

private String value;

private EnumTimetableTime(String code, String value) {

this.code = code;

this.value = value;

}

public static Map toMap() {

Map map = new HashMap<>();

for (EnumTimetableTime type : values()) {

map.put(type.getCode(), type.getValue());

}

return map;

}

}最后就是页面显示了,思路:先创建一个table,然后对每个tr和td进行编号,然后根据后台传输数据,重新再td中填入数据。

传输list的样例:

CourseTimetable [id=1, course=Course [courseNo=10001, courseName=计算机网络, status=1, type=2, credit=3, times=50, teacher=Teacher [teacherNo=20120101, teacherName=张老师, password=000, political=团员, idCard=null, sex=1, nation=汉族, degree=研究生, headUrl=null, email=null, telephone=null, status=1, startDate=2012-01-01, remarks=胡编的], remarks=网络原理], time=1, location=C-1001, remarks=大班, status=1, day=4]

pageEncoding="UTF-8"%>

学生课表

td {

text-align: center;

width: 10%;

}

$(document).ready(function() {

$('#first input').each(function () {

var time = $(this).val().split("time=")[1].split(",")[0];//根据星期和节次,定位修改td的位置

var day = $(this).val().split("day=")[1].substr(0,1);

var id = '#tr_'+time+' #td_' +day;

var courseName = $(this).val().split("courseName=")[1].split(",")[0];//获取课程名

var teacherName = $(this).val().split("teacherName=")[1].split(",")[0];

var location = $(this).val().split("location=")[1].split(",")[0];

console.log(time+"-"+day+"-"+id);

$(id).text(courseName + "-" + teacherName + "-" + location );//设置位置

});

})

节次 ${d.value }
${t.value }

*注:数据库中存的CourseTimetable的time和day都是对应两个枚举的key。

课表查询系统java数据库_教务管理系统-学生查询个人课表相关推荐

  1. 嘉兴南阳职业技术学院计算机一级查询,嘉兴南洋职业技术学院教务管理系统成绩查询、网上选课查分登录入口...

    嘉兴南洋职业技术学院教务管理系统成绩查询.网上选课查分登录入口 嘉兴南洋职业技术学院教务处 教务公告 更多 01-10关于乐梦琦同学申请转学的公示 12-142018 学年第一学期第...主办单位:嘉 ...

  2. java计算机毕业设计教务管理系统源码+数据库+系统+lw文档+mybatis+运行部署

    java计算机毕业设计教务管理系统源码+数据库+系统+lw文档+mybatis+运行部署 java计算机毕业设计教务管理系统源码+数据库+系统+lw文档+mybatis+运行部署 本源码技术栈: 项目 ...

  3. javaweb教务管理系统_基于Java web的教务管理系统

    源码编号:B-E00033 点击查看(分类规则) 项目类型:Java EE项目(非开源) 项目名称:基于Java web的教务管理系统(TeachingSystem) 当前版本:V1.0.1版本 难度 ...

  4. java计算机毕业设计教务管理系统源程序+mysql+系统+lw文档+远程调试

    java计算机毕业设计教务管理系统源程序+mysql+系统+lw文档+远程调试 java计算机毕业设计教务管理系统源程序+mysql+系统+lw文档+远程调试 本源码技术栈: 项目架构:B/S架构 开 ...

  5. java计算机毕业设计教务管理系统MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计教务管理系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计教务管理系统MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构:B/S架构 ...

  6. 成绩查询系统源java代码_基于jsp的成绩查询系统-JavaEE实现成绩查询系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的成绩查询系统, 该项目可用各类java课程设计大作业中, 成绩查询系统的系统架构分为前后台两部分, 最终实现在线上 ...

  7. java公交查询系统开题报告_毕业设计论文-基于JAVA的公交查询系统的设计与实现.doc...

    毕业设计论文-基于JAVA的公交查询系统的设计与实现.doc 还剩 42页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内 ...

  8. 监考安排系统java代码_基于jsp的监考安排与查询-JavaEE实现监考安排与查询 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的监考安排与查询, 该项目可用各类java课程设计大作业中, 监考安排与查询的系统架构分为前后台两部分, 最终实现在 ...

  9. JAVA实现查询系统_基于jsp的车辆查询系统-JavaEE实现车辆查询系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的车辆查询系统, 该项目可用各类java课程设计大作业中, 车辆查询系统的系统架构分为前后台两部分, 最终实现在线上 ...

最新文章

  1. 通过XmlDocument读写Xml文档(转)
  2. Excel提取超链接信息
  3. ssh_exchange_identification: Connection closed by remote host 解决方法
  4. MIT用超导体制成极低功耗神经元,能效接近人类大脑,比计算机高4个量级
  5. python3 信号量和线程池 semaphore ThreadPollExector
  6. 利用CMake编译内核模块
  7. 三十、开始前端Vue.js的学习之路
  8. Java中static变量作用和用法详解
  9. android so文件不混淆_Android studio 混淆打包时如何忽略依赖库中的第三方.so文件...
  10. Docker教程:docker的概念及安装
  11. 游戏筑基之选择分支语句(C语言)
  12. AIX添加ASM的裸盘
  13. Linux Shell 脚本教程
  14. 彼得林奇PEG价值选股策略(附源码入口)
  15. 5-27 家谱处理 (30分)
  16. 谷歌开始卷自己,AI架构Pathways加持,推出200亿生成模型
  17. 助力无人船舶,开拓水上智能
  18. TR1 tuple的用法
  19. 文件管理(以Unix系统为例)
  20. thinkphp5oa管理系统

热门文章

  1. okhttp3上传图片
  2. 斐讯N1 小钢炮系统配置 FRP 内网穿透
  3. 如何从wondows到Linux
  4. iCloud与Windows10兼容问题解决 苹果解除封锁问题
  5. 精简windows的工具-nLite
  6. Mysql的distinct、order by和group by冲突报错
  7. 前端html生成图片,HTML5 Canvas:绘制图片
  8. 关于国内杀软个人推荐和评价
  9. 工业相机视野与分辨率计算(相机选型与计算)
  10. 珍藏很久的9个网站,再舍不得也得分享出来