首页 > 解决方案 > RedirectAttributes 消息未显示在 html 上

问题描述

我有一个更新会议的控制器类方法。更新时检查是否有同名的会议,如果有,则抛出带有消息的ConferenceAlreadyExistException。我将此消息作为 FlashAttribute 添加到我的 RedirectAttributes 中,尽管它没有显示在我的 html 中。

我的控制器方法:

@PostMapping("/updateConference")
public String updateConference(
        @ModelAttribute("conference") @Valid ConferenceDto conferenceDto, BindingResult result, RedirectAttributes attributes) {

    if(result.hasErrors()){
        attributes.addFlashAttribute("org.springframework.validation.BindingResult.conferenceDto", result);
        attributes.addFlashAttribute("conferenceDto", conferenceDto);
        return "updateConference";
    }

    try {
        conferenceService.updateConference(conferenceDto);
    } catch (ConferenceAlreadyExistException uaeEx) {
        attributes.addFlashAttribute("conferenceDto", conferenceDto);
        attributes.addFlashAttribute("message", uaeEx.getMessage()); // problem here
        return "updateConference";
    }
    attributes.addFlashAttribute("message", "Successfully modified conference.");
    return "redirect:/teacher/configure";
}

在我的 html 中,我有一行:

<div  th:if="${message != null}" th:align="center" class="alert alert-danger" th:utext="${message}">message</div>

任何想法为什么会发生这个问题?

标签: javahtmlspring

解决方案


推荐阅读