我一直在這里和在線搜索如何以最佳方式使用 addFlashAttribute,無論我做什么,它都對我不起作用。我有一個學生模型,我正在嘗試更新并閃爍成功或失敗的訊息。資料庫和所有查詢都有效,我被重定向到 showStudentDetail 頁面,只是沒有顯示的訊息。這是代碼:
學生服務:
public String updateStudent(Student student) {
if(studentDAO.update(student))
return "update student was successful!";
return "error: failed to update student, please try again";
}
public Student getStudentInfo(String username) {
Student student = studentDAO.get(username);
return student;
}
學生控制器:
@PostMapping("/updateStudent")
public String updateStudent(@ModelAttribute("student") Student student, RedirectAttributes redirectAttrs) {
String res = studentService.updateStudent(student);
redirectAttrs.addAttribute("username", student.getUsername()).addFlashAttribute("message", res);
return "redirect:/students/{username}/details";
}
@GetMapping("/students/{username}/details")
public String showDetailPage(@PathVariable String username, Model model) {
Student student = studentService.getStudentInfo(username);
model.addAttribute("student", student);
return "student_detail";
}
student_detail(div 未顯示)
<div>
<div th:if="${param.username}" class="alert alert-info" role="alert" th:text="${param.message}"></div>
</div>
uj5u.com熱心網友回復:
控制器中模型的名稱是 student,但在視圖中您使用的是“param”名稱。將“引數”更改為“學生”。
uj5u.com熱心網友回復:
我終于通過更改為 message 而不是 param.message 解決了這個問題。我真的不知道為什么現在它正在作業,但這就是我的問題的解決方案。
只需將 html 更改為:
<div th:if="${message}" class="alert alert-info" role="alert" th:text="${message}"></div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/469339.html
上一篇:如何洗掉字串中出現多次的字符,只保留第一個字符并回傳結果
下一篇:MySQL 安全管理
