gpt4 book ai didi

java - Spring MVC Controller 使用 URL 参数重定向而不是响应

转载 作者:IT老高 更新时间:2023-10-28 20:46:39 26 4
gpt4 key购买 nike

我正在尝试在我的 Spring MVC 应用程序中实现 RESTful url。一切都很好,除了处理表单提交。我需要重定向回原始表单或“成功”页面。

@Controller
@RequestMapping("/form")
public class MyController {

@RequestMapping(method = RequestMethod.GET)
public String setupForm() {
// do my stuff
return "myform";
}

@RequestMapping(method = RequestMethod.POST)
public String processForm(ModelMap model) {
// process form data

model.addAttribute("notification", "Successfully did it!");
return "redirect:/form";
}
}

然而,正如我在 Spring documentation 中看到的那样, 如果你重定向任何参数将被放入 url。这对我不起作用。解决这个问题的最优雅的方法是什么?

最佳答案

我遇到了同样的问题。像这样解决它:

return new ModelAndView("redirect:/user/list?success=true");

然后我的 Controller 方法如下所示:

public ModelMap list(@RequestParam(required=false) boolean success) {
ModelMap mm = new ModelMap();
mm.put(SEARCH_MODEL_KEY, campaignService.listAllCampaigns());
if(success)
mm.put("successMessageKey", "campaign.form.msg.success");
return mm;
}

除非您想发送简单的数据,而不是集合,否则可以完美运行。那么我猜你必须使用 session 。

关于java - Spring MVC Controller 使用 URL 参数重定向而不是响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2500592/

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