Spring重定向不起作用,只在浏览器中显示重定向:/ url

Gri*_*fin 3 java redirect spring spring-mvc

我以为我几天前就已经有了这段代码了,但现在我似乎无法弄清楚它并且我不知道为什么它不起作用.我有这个方法只有在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"
    } 
Run Code Online (Sandbox Code Playgroud)

和另一种看起来像这样的方法:

    @RequestMapping(value = "/features", method = RequestMethod.GET)
    public @ResponseBody 
    // etc... 
Run Code Online (Sandbox Code Playgroud)

但在我的第一个方法结束时,重定向根本没有改变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"
    } 
Run Code Online (Sandbox Code Playgroud)

San*_*shi 6

看看目的吧@ResponseBody.问题是由于@ResponseBodyanotation正在显示内容.当想要将内容作为Ajax响应传递时,使用注释.删除@ResponseBody将解决目的.