【发布时间】:2010-03-23 14:17:48
【问题描述】:
我正在尝试在我的 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。这对我不起作用。解决这个问题的最优雅的方法是什么?
【问题讨论】:
-
你想达到什么重定向 URL?
-
没关系,我只需要在处理完post数据后重定向到一个页面,并通知用户他们提交的内容处理成功。似乎这是一个常见的请求jira.springframework.org/browse/SPR-1294。但可能暂时不会修复。
-
看起来这两个相关票证中描述的任何一个修复程序都不能解决您的特定问题:其中一个是关于控制哪些模型属性作为查询字符串公开(但仍会公开一些),另一个是关于添加属性作为 url 路径的一部分(例如,这对于 ID 来说非常安静,但仍然没有给您提供成功消息的地方)。
标签: java redirect spring-mvc controller