JSP+Servlet培训班作业管理系统[19]–教师角色之作业打分功能实现

简介: 本文目录1. 本章任务2. 配置作业批阅菜单3. 进入作业批阅页面携带数据4. 作业批阅页面开发5. 批阅选中作业内容6. 提交批改7. 测试运行

1. 本章任务

虽然我们还没开发学生提交作业内容,但是由于已经设计了数据库表结构,我们也可以先开发教师角色的作业批阅功能。


其实批阅就是对作业内容Job表的score一栏填入分数,本质上是update。


但是在具体操作上需要注意:


教师批阅的作业,必须是自己负责课程相关的作业。

可以通过先选择作业,然后查询出来该作业下所有的提交内容,然后逐一打分的方式来实现。

2. 配置作业批阅菜单

修改Constants.java


   // 教师拥有的菜单

 roleMenuMap.put("teacher", new String[][] { { "课程管理", "courseManage.jsp" }, { "作业题目管理", "titleManage.jsp" },

   { "作业批阅", "jobCheck.jsp" } });

1

2

3

3. 进入作业批阅页面携带数据

进入作业批阅界面时,需要先加载所有的作业题目。如果当前还指定了要查询的作业题目编号,则显示该作业题目下所有作业内容。


   else if (childPage.equals("jobCheck.jsp")) {// 作业批阅

  // 加载教师关联的所有作业题目

  User loginUser = (User) request.getSession().getAttribute("loginUser");

  TitleDao titleDao = new TitleDao();

  request.setAttribute("titles", titleDao.getTitlesByUserId(loginUser.getUserId()));

  String selectedTitle = request.getParameter("selectedTitle");

  JobDao jobDao = new JobDao();

  List<Job> jobs = null;

  if (selectedTitle != null && !"".equals(selectedTitle)) { // 如果有选择的作业题目,则加载该题目下所有作业内容

   jobs = jobDao.getJobsByTitleId(Integer.parseInt(selectedTitle));

  } else {// 否则设置一个空的列表

   jobs = new ArrayList<Job>();

  }

  request.setAttribute("jobs", jobs);

 }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

4. 作业批阅页面开发

主要内容是选择作业题目,然后查询按钮,最后是展示该题目下所有的作业内容。


<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><!-- 使用c:标签需要添加本行代码 -->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>jobCheck.jsp</title>

<link href="css/content.css" type="text/css" rel="stylesheet" />

</head>

<body>

<div id="content_top">作业批阅</div>

<div id="content_mid">

 <form method="get" action="/HomeworkSystem/RouteServlet">

  <input type="hidden" name="childPage" value="jobCheck.jsp"> <select

   name="selectedTitle">

   <c:forEach items="${titles}" var="item">

    <option value="${item.titleId}">${item.titleContent}</option>

   </c:forEach>

  </select> <input type="submit" value="查询" />

 </form>

 <table class="table_theme1">

  <thead>

   <tr>

    <th>编号</th>

    <th>姓名</th>

    <th>时间</th>

    <th>内容</th>

    <th>得分</th>

    <th>操作</th>

   </tr>

  </thead>

  <c:forEach items="${jobs}" var="item">

   <tr>

    <td>${item.jobId}</td>

    <td>${item.jobUserName}</td>

    <td>${item.jobTime}</td>

    <td>${item.jobContent}</td>

    <td>${item.jobScore}</td>

    <td><a

     href="/HomeworkSystem/RouteServlet?childPage=jobCheckEdit.jsp&jobId=${item.jobId}">批阅</a></td>

   </tr>

  </c:forEach>

 </table>

</div>

</body>

</html>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

5. 批阅选中作业内容

点击批阅后,加载该作业内容,跳转jobCheckEdit.jsp即可。其实相当于编辑了,这部分比较简单,直接放一下代码。


修改RouteServlet


   else if (childPage.equals("jobCheckEdit.jsp")) {// 批阅具体一个作业

  JobDao jobDao = new JobDao();

  String jobId = request.getParameter("jobId");

  Job job = jobDao.getById(Integer.parseInt(jobId));

  request.setAttribute("job", job);

 }

1

2

3

4

5

6

修改jobCheckEdit.jsp


<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><!-- 使用c:标签需要添加本行代码 -->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>jobCheckEdit.jsp</title>

<link href="css/content.css" type="text/css" rel="stylesheet" />

</head>

<body>

<form action="/HomeworkSystem/JobServlet?method=jobCheckEdit" method="post">

 <div id="content_top">作业内容批阅</div>

 <div id="content_mid">

  <table class="table_theme1">

       <tr>

    <td>作业内容编号:</td>

    <td><input type="text" name="jobId" value="${job.jobId}"

     readonly /></td>

   </tr>

   <tr>

    <td>学生:</td>

    <td><input type="text" name="jobUserName"

     value="${job.jobUserName}" readonly /> <input type="hidden"

     name="jobTitle" value="${job.jobTitle}" /> <input type="hidden"

     name="jobUser" value="${job.jobUser}" /></td>

   </tr>

   <tr>

    <td>作业内容:</td>

    <td><textarea name="jobContent" value="${job.jobContent}" rows="3" cols="30" readonly></textarea></td>

   </tr>

   <tr>

    <td>评分:</td>

    <td><input type="text" name="jobScore" value="${job.jobScore}" /></td>

   </tr>

  </table>

 </div>

 <div id="content_bottom">

  <input type="submit" value="保存"></input>

 </div>

</form>

</body>

</html>


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

6. 提交批改

直接保存就行


7. 测试运行

效果如下,大功告成:

image.png

image.png

image.png

相关文章
|
6月前
|
供应链 前端开发 Java
服装库存管理系统 Mybatis+Layui+MVC+JSP【完整功能介绍+实现详情+源码】
该博客文章介绍了一个使用Mybatis、Layui、MVC和JSP技术栈开发的服装库存管理系统,包括注册登录、权限管理、用户和货号管理、库存管理等功能,并提供了源码下载链接。
服装库存管理系统 Mybatis+Layui+MVC+JSP【完整功能介绍+实现详情+源码】
|
6月前
|
供应链 前端开发 Java
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
这篇文章通过一个服装库存管理系统的实例,展示了在Spring Boot项目中使用Ajax、JSON、layui、MVC架构和iframe等技术,涵盖了注册登录、权限管理、用户管理、库存管理等功能,并提供了系统运行环境和技术要求的详细说明。
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
|
6月前
|
监控 前端开发 Java
揭秘Web开发神器:Servlet、过滤器、拦截器、监听器如何联手打造无敌博客系统,让你的用户欲罢不能!
【8月更文挑战第24天】在Java Web开发中,Servlet、过滤器(Filter)、拦截器(Interceptor,特指Spring MVC中的)及监听器(Listener)协同工作,实现复杂应用逻辑。以博客系统为例,Servlet处理文章详情请求,过滤器(如LoginFilter)检查登录状态并重定向,Spring MVC拦截器(如LoggingInterceptor)提供细粒度控制(如日志记录),监听器(如SessionListener)监控会话生命周期事件。这些组件共同构建出高效、有序的Web应用程序。
53 0
|
9月前
|
存储 Java 应用服务中间件
JSP实现简易的聊天功能(Session机制)
这是一个使用JSP实现的简易聊天功能,基于Session机制和服务器端全局应用空间Application。用户通过login.jsp登录,信息存储在Session中。container.jsp展示聊天界面,包括用户列表、聊天内容和输入框,同时处理发送、清空和刷新等操作。view.jsp动态显示聊天历史,根据用户颜色选择改变消息显示。多用户间通过切换浏览器模拟聊天。网址格式为:http://localhost:8080/项目名/...。如果仅本机可访问,可能因不在同一局域网,需确保所有设备在同一网络并使用本机IP替代localhost。
96 3
|
9月前
|
存储 Java 应用服务中间件
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解(2)
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解
94 2
|
8月前
|
Java 应用服务中间件 开发工具
基于Servlet的3.1以上注解方式完成上传功能。
基于Servlet的3.1以上注解方式完成上传功能。
40 0
|
8月前
|
Java Apache
基于servlet完成文件上传功能
基于servlet完成文件上传功能
57 0
|
8月前
|
SQL 数据可视化 数据库
基于jsp+servlet的javaweb实现最基本的用户注册登陆注销功能
基于jsp+servlet的javaweb实现最基本的用户注册登陆注销功能
47 0
|
9月前
|
SQL JSON 前端开发
基于 Servlet 的博客系统
基于 Servlet 的博客系统
|
4月前
|
Java 容器
【学习笔记】Jsp与Servlet技术
【学习笔记】Jsp与Servlet技术
115 0