gpt4 book ai didi

Spring 启动 : Redirect and Refresh model and page

转载 作者:行者123 更新时间:2023-12-04 08:54:17 25 4
gpt4 key购买 nike

我有一个 spring-boot 应用程序,带有它们emleaf。我反复更新页面,并将其重定向到同一页面,所以我希望页面的元素得到更新:

@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";
}

当一个按钮在 View 中被按下时,它会触发以下 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";
}

第二个 Controller 方法,执行一个操作并生成一个 message ,并将其重定向到第一种方法。因此,它成功重定向到第一个方法并记录
log.info("The message is: "+message);

但它不会刷新我的页面,而且 我没有收到模型 的消息?

当我重定向到第一种方法时,我希望它添加 message我的模型:
model.addAttribute("message",message);

但它没有添加到我的页面

最佳答案

and when a button get pushed in the view it triggers the below post method:



听起来这个触发器使用的是 AJAX,而不是表单提交。这样做将符合您描述的症状。

如果您 POST/suggested-events/vote使用 AJAX,服务器将返回 302,浏览器将遵循它。但是,该 302 的响应仍然是 AJAX 调用的结果。您可以在成功回调中访问它,但浏览器不会为您呈现它。

but it does not refresh my page



如果 302 不会导致您的页面重新呈现,这也表明您正在使用 AJAX。

如果您实际上使用表单提交,浏览器将使用成功重定向返回的标记重新呈现。

这可以通过在您的 vote.html 中使用以下两个按钮来验证。 :
  <form action="http://localhost:8080/suggested-events/vote" method="POST">
<input type="submit" text="Submit" />
</form>

<button onclick="postmessage();" >Button</button>

<script>
function postmessage() {
$.ajax({
method: 'POST',
data: {},
url: 'http://localhost:8080/suggested-events/vote'
});
}
</script>

第一个按钮将按预期工作,第二个按钮与您描述的症状相符。

如果您 已经在使用表单,请用它更新问题(或者更好的是,整个 Thymeleaf 模板)。

关于 Spring 启动 : Redirect and Refresh model and page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46694393/

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