gpt4 book ai didi

java - 将错误消息从 Controller 传递到 thymeleaf

转载 作者:行者123 更新时间:2023-12-05 05:06:43 27 4
gpt4 key购买 nike

我不知道如何在表单之外将错误传递给 thymeleaf,而不是特定于某个字段。如果这本书有货,只需检查一下即可。如果是,则处理所有内容。如果不是,则在客户端抛出错误消息。

Controller

@PostMapping("/books/borrow/{id}")
public String borrowBook(@PathVariable int id, Errors errors) {

Book borrowedBook = bookRepository.findById(id);

if (borrowedBook.getAvailableCount() == 0){
errors.rejectValue("onStock", "Book out of stock. Come later...");
return "redirect:/books/";
} else{...}

查看

<p th:text="${onStock}"></p>

我不明白如何传递参数并将其显示给客户端。我做了研究https://www.thymeleaf.org/doc/tutorials/2.1/thymeleafspring.html#validation-and-error-messages但它们都是特定于表单和字段的。

我做错了什么?

最佳答案

您可以使用 RedirectAttribute 来实现:

Controller

@PostMapping("/books/borrow/{id}")
public String borrowBook(@PathVariable int id, Errors errors, RedirectAttributes redirectAttributes) {
Book borrowedBook = bookRepository.findById(id);

if (borrowedBook.getAvailableCount() == 0){
errors.rejectValue("onStock", "Book out of stock. Come later...");
redirectAttributes.addFlashAttribute("errorMessage", "We couldn't process your order!");
return "redirect:/books/borrow/" + id;
} else {
//Process the request
}

模板(HTML)

<div th:if="${errorMessage}">
<div th:text="${errorMessage}"></div>
</div>

关于java - 将错误消息从 Controller 传递到 thymeleaf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59649144/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com