Spring mvc url问题

时间:2013-01-20 10:28:49

标签: spring-mvc

我正在使用Spring mvc,我遇到了这个问题:

我的控制器中的每个方法都返回一个jsp的名称,而对于演示文稿 - 一切都很好。问题在于链接(hrefs)。窗口的链接不会改变,相关链接会将我带到不需要的地方。

例如(不是真实的):

我有一个可以访问的视图:/test1/{id} 以及/test1/{id}/update

访问的更新视图

post方法,保存并返回第一个视图(让您返回查看屏幕)。 演示文稿没问题,我可以看到更新的数据。但是窗口网址没有更改,如果我再次尝试更新,我会被发送到此位置:/test1/{id}/update/update.

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

简短回答:使用重定向!

必须在执行持久性操作时使用重定向。我猜你在发布到那些网址时修改数据。所以你绝对需要使用重定向。当用户在进行更新后刷新页面时,这可以解决问题。您是否注意到浏览器有关重新发送数据的警告?

示例代码:

@RequestMapping("/test1/{id}/update")
public ModelAndView update(@PathVariable("id") String id){
    // make an update
    return new ModelAndView("redirect:/test1/" + id);
}

这将向用户发送301或302 HTTP状态。浏览器将imeddiately跟随重定向网址。请注意,您不应使用视图名称,而应使用网址。