Spring Thymeleaf - 如何从html中找到对象id并将id传递给控制器​​?

时间:2018-03-20 21:55:42

标签: java html spring spring-boot thymeleaf

在我的HTML中,我显示了我的所有作业,考试和考勤对象。我想找到这些对象的id并将其传递给控制器​​,因为我希望用户能够编辑这些对象,为了做到这一点,我需要找到他们的id。编辑对象的按钮将位于对象名称旁边。无论如何,这就是我想要的方式。

这是我的HTML:

div th:each="subject : ${subjects}">
   Subject: <h4 th:text="${subject.subjectName}" />
 /

<h4> assignments:</h4>
<div th:each="assignment : ${subject.assignment}">
<h4 th:text="${assignment.assignmentTitle}"/>
</div>
<h4> exams:</h4>
<div th:each="exam : ${subject.exam}"> 
<h4 th:text="${exam.examTitle}"/>
<h4 th:text="${exam.examId}"/>
</div>
<h4>Attendance:</h4>
<div th:each="attendance : ${subject.attendance}">
<h4 th:text="${attendance.attendanceTitle}"/>
</div>

这是我的控制器:

@GetMapping("/allSubjects")
public String shoSubjects(@ModelAttribute("subject") @Valid UserRegistrationDto userDto, BindingResult result, Model model) {
    Authentication loggedInUser = SecurityContextHolder.getContext().getAuthentication();
    String email = loggedInUser.getName();   


    User user = userRepository.findByEmailAddress(email);
    List<Subject> subjects = user.getSubject();

    model.addAttribute("subjects", user.getSubject());

1 个答案:

答案 0 :(得分:0)

这是解决方案。我能够找到用户选择编辑的考试ID,并将其带到编辑HTML页面。

我的HTML:

<h4> exams:</h4>
<div th:each="exam : ${subject.exam}"> 
<h4 th:text="${exam.examTitle}"/>

<a th:href="@{/editExam.html(id=${exam.examId})}">Edit Exam</a>

控制器:

@RequestMapping(value = "/editExam.html{examId}", method =RequestMethod.GET)
public String editExam(@PathVariable String examId) {

    return "editExam";
}