试卷管理与发布功能开发
完成试卷管理模块开发,耗时 1 天,累计耗时 4 天,剩余 6 天。主要工作:
设计试卷实体ExamPaper,包含试卷名称、内容、答案和分数字段。
实现管理员端试卷 CRUD 功能,支持试卷发布、删除和内容编辑。
开发试卷评分接口,允许管理员录入分数,为后续成绩查询做准备。
遇到的困难
大文本存储问题:试卷内容较长,初始设计未指定TEXT类型,导致数据库存储截断。通过在@Column中添加columnDefinition = "TEXT"解决。
前端内容预览:试卷内容包含格式符号(如换行、列表),直接展示时样式混乱。通过 CSSwhite-space: pre-wrap保留文本格式,并添加滚动容器优化显示。
今天的任务(第 7 天)
开发员工成绩查看功能,实现考试提交记录与分数关联展示。
整合所有模块,进行系统功能联调,确保各功能流程通畅。
核心代码示例
试卷实体类(ExamPaper.java)
@Entity
public class ExamPaper {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
@Column(columnDefinition = "TEXT")
private String content;
private String answer;
private String score;
// 构造方法、getter/setter省略
}
试卷管理控制器(AdminController.java)
@PostMapping("/papers")
public String savePaper(@ModelAttribute ExamPaper paper, HttpSession session) {
if (!checkAdmin(session)) return "redirect:/login";
adminService.saveExamPaper(paper);
return "redirect:/admin/papers";
}
@PostMapping("/papers/score/{id}")
public String updateScore(@PathVariable Integer id,
@RequestParam String score,
HttpSession session) {
if (!checkAdmin(session)) return "redirect:/login";
adminService.updateExamScore(id, score);
return "redirect:/admin/papers";
}
试卷列表页面(paper.html)
试卷名称 | 试卷内容 | 操作 |
---|---|---|