【发布时间】:2018-03-23 11:50:12
【问题描述】:
我有一个 spring-boot 应用程序,带有它们。我反复更新页面,并将其重定向到同一页面,所以我希望页面的元素得到更新:
@GetMapping("/suggested-events/vote/{eventId}")
public String voteForEvents(Model model,
@PathVariable("eventId") Long eventId,
@RequestParam(value = "message", required = false) String message ) {
log.info("The message is: "+message);
SuggestedEvent event = suggestedEventService.findSuggestedEventById(eventId);
ArrayList<SuggestedEvent> events = suggestedEventService.findSuggestedEventsByArea(event.getArea());
model.addAttribute("mainEvent",event);
model.addAttribute("events",events);
model.addAttribute("message",message);
return "/suggested-event/vote";
}
当在视图中按下按钮时,它会触发以下 post 方法:
@PostMapping("/suggested-events/vote")
public String voteForASuggestedEvent(RedirectAttributes redirectAttributes){
log.info("You have made a vote");
redirectAttributes.addAttribute("message", "Success");
return "redirect:/suggested-events/vote/1";
}
第二个控制器方法执行一个操作并创建一个message,并将其重定向到第一个方法。因此,它成功重定向到第一个方法并记录
log.info("The message is: "+message);
但它不会刷新我的页面,并且我没有收到作为模型的消息?
当我重定向到第一种方法时,我希望它会将message 添加到我的模型中:
model.addAttribute("message",message);
但它没有添加到我的页面
【问题讨论】:
-
看看这个答案,我想它会对你有所帮助。Spring RedirectAttributes: addAttribute vs addFlashAttribute
-
@user5363938 这段代码对我来说很好用。你能出示你的表格吗?
标签: spring spring-mvc redirect thymeleaf