Я новичок в Spring boot и сейчас работаю над проектом.Мне нужно создать отзывчивое представление расписания (для конкретной группы студентов, например: CS year1), когда пользователь выбирает ячейку, он должен быть перенаправлен на страницу, где он должен иметь возможность добавлять или редактировать тему для этой конкретной ячейки.Может кто-нибудь сказать, пожалуйста, как это сделать?Благодарю.
Я создал студенческую группу, предмет, и они работают должным образом
Контроллер студенческой группы
@Controller
public class StudentGroupController {
@Autowired
private StudentGroupDAO studentGroupDAO;
@Autowired
private CourseDAO courseDAO;
@RequestMapping("/studentGroup")
public String viewHomePage(Model model){
List<StudentGroup> studentGroupDetails= studentGroupDAO.findAll();
model.addAttribute("studentGroupDetails",studentGroupDetails);
return "studentGroup";
}
@RequestMapping("/studentGroup/new")
public String addStudentGroup(Model model){
StudentGroup studentGroup =new StudentGroup();
model.addAttribute("studentGroup",studentGroup);
List<Course> courseDetail = courseDAO.findAll();
model.addAttribute("courses", courseDetail);
return "addStudentGroup";
}
@RequestMapping(value="/studentGroup/save",method= RequestMethod.POST)
public String saveStudentGroup(@ModelAttribute("studentGroup") StudentGroup studentGroup){
studentGroupDAO.save(studentGroup);
return "redirect:/studentGroup";
}
@RequestMapping("/studentGroup/edit/{id}")
public ModelAndView updateStudentGroup(@PathVariable(name="id")Long id){
ModelAndView mav=new ModelAndView(("updateStudentGroup"));
StudentGroup studentGroup = studentGroupDAO.findById(id);
mav.addObject("studentGroup",studentGroup);
List<Course> courseDetail = courseDAO.findAll();
mav.addObject("courses", courseDetail);
return mav;
}
@RequestMapping("/studentGroup/delete/{id}")
public String deleteProduct(@PathVariable(name="id") Long id){
studentGroupDAO.delete(id);
return "redirect:/studentGroup";
}
}
Контроллер субъекта
@Controller
public class SubjectController {
@Autowired
private SubjectDAO subjectDAO;
@Autowired
private CourseDAO courseDAO;
@Autowired
private LectureHallDAO lectureHallDAO;
@RequestMapping("/subject")
public String viewHomePage(Model model){
List<Subject> subjectDetails= subjectDAO.findAll();
model.addAttribute("subjectDetails",subjectDetails);
return "subject";
}
@RequestMapping("/subject/new")
public String addSubject(Model model){
Subject subject =new Subject();
model.addAttribute("subject",subject);
List<Course> courseDetail = courseDAO.findAll();
model.addAttribute("courses", courseDetail);
List<LectureHall> lectureHallDetail = lectureHallDAO.findAll();
model.addAttribute("lectureHalls",lectureHallDetail);
return "addSubject";
}
@RequestMapping(value="/subject/save",method= RequestMethod.POST)
public String saveSubject(@ModelAttribute("subject") Subject subject){
subjectDAO.save(subject);
return "redirect:/subject";
}
@RequestMapping("/subject/edit/{id}")
public ModelAndView updateSubjcet(@PathVariable(name="id")Long id){
ModelAndView mav=new ModelAndView(("updateSubject"));
Subject subject=subjectDAO.findById(id);
mav.addObject("subject",subject);
List<Course> courseDetail = courseDAO.findAll();
mav.addObject("courses", courseDetail);
List<LectureHall> lectureHallDetail = lectureHallDAO.findAll();
mav.addObject("lectureHalls",lectureHallDetail);
return mav;
}
@RequestMapping("/subject/delete/{id}")
public String deleteProduct(@PathVariable(name="id") Long id){
subjectDAO.delete(id);
return "redirect:/subject";
}
}
Контроллер таблицы времени
@Controller
public class TimeTableController {
@Autowired
private TimeTableDAO timeTableDAO;
@Autowired
private SubjectDAO subjectDAO;
@Autowired
private StudentGroupDAO studentGroupDAO;
@RequestMapping("/timeTable")
public String viewHomePage(Model model){
List<TimeTable> timeTableDetails= timeTableDAO.findAll();
model.addAttribute("timeTableDetails",timeTableDetails);
return "timeTable";
}
@RequestMapping("/timeTable/new")
public String addTimeTable(Model model){
TimeTable timeTable =new TimeTable();
model.addAttribute("timeTable",timeTable);
List<Subject> subjectDetail = subjectDAO.findAll();
model.addAttribute("subjects", subjectDetail);
List<StudentGroup> studentGroupDetail = studentGroupDAO.findAll();
model.addAttribute("studentGroups",studentGroupDetail);
return "addStudentGroup";
}
@RequestMapping(value="/timeTable/save",method= RequestMethod.POST)
public String saveTimeTable(@ModelAttribute("timeTable") TimeTable timeTable){
timeTableDAO.save(timeTable);
return "redirect:/timeTable";
}
@RequestMapping("/timeTable/edit/{id}")
public ModelAndView updateTimeTable(@PathVariable(name="id")Long id){
ModelAndView mav=new ModelAndView(("updateTimeTable"));
TimeTable timeTable = timeTableDAO.findById(id);
mav.addObject("timeTable",timeTable);
List<Subject> subjectDetail = subjectDAO.findAll();
mav.addObject("subjects", subjectDetail);
List<StudentGroup> studentGroupDetail = studentGroupDAO.findAll();
mav.addObject("studentGroups",studentGroupDetail);
return mav;
}
@RequestMapping("/timeTable/delete/{id}")
public String deleteProduct(@PathVariable(name="id") Long id){
timeTableDAO.delete(id);
return "redirect:/timeTable";
}
}
Представление таблицы времени
<!DOCTYPE html>
<html xmlns:th="https://www.thymeleaf.org">
<head>
<link rel="stylesheet" type="text/css" href="static/css/timetable.css" th:href="@{/css/view.css}">
<meta charset="UTF-8">
<title>Time Table</title>
</head>
<body>
<h1>Time Table</h1>
<div class="container" style="margin-top:30px">
<br><br>
<table border="1">
<thead>
<tr>
<td></td>
<th>Monday</th>
<th>Tuesday</th>
<th>Wednesday</th>
<th>Thursday</th>
<th>Friday</th>
</tr>
</thead>
<tbody>
<tr><td> 8.00 - 9.00</td>
</tr>
<tr><td> 9.00 - 10.00</td>
</tr>
<tr> <td>10.00 - 11.00</td>
</tr>
<tr><td>11.00 - 12.00</td>
</tr>
<tr> <td>12.00 - 1.00</td>
</tr>
<tr> <td>1.00 - 2.00</td>
</tr>
<tr><td> 2.00 - 3.00</td>
</tr>
<tr><td> 3.00 - 4.00</td>
</tr>
<tr><td> 4.00 - 5.00</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>