我以为我几天前就已经有了这段代码了,但现在我似乎无法弄清楚它并且我不知道为什么它不起作用。我有这个方法,只有当cacheRefreshIsEnabled参数存在时才会处理请求:
@RequestMapping(value = "/features", method = RequestMethod.GET, params = {"cacheRefreshIsEnabled"})
public @ResponseBody
String getSetting(@RequestParam(value="cacheRefreshIsEnabled", required=true) boolean cacheRefreshIsEnabled) {
// do some stuff
return "redirect:features"
}
和另一种看起来像的方法:
@RequestMapping(value = "/features", method = RequestMethod.GET)
public @ResponseBody
// etc...
但是在我的第一个方法结束时,重定向根本没有改变URL。相反,“重定向:功能”显示在我的浏览器窗口中。
我做错了什么?我需要修改一些配置文件吗?我是Spring的新手。
[解决方案]
我改变了我的代码并使其正常工作。谢谢您的帮助!这就是我现在所拥有的:
@RequestMapping(value = "/features", method = RequestMethod.GET, params ={"cacheRefreshIsEnabled"})
String getSetting(@RequestParam(value="cacheRefreshIsEnabled", required=true) boolean cacheRefreshIsEnabled) {
// do some stuff
return "redirect:/features"
}
答案 0 :(得分:6)
了解@ResponseBody
的目的。问题是由于@ResponseBody
anotation导致内容按原样显示。当想要将内容作为Ajax响应传递时,使用注释。删除@ResponseBody
将解决目的。