Spring mvc Spring mvc url问题
我使用的是Spring mvc,我遇到了以下问题: 我的控制器中的每个方法都返回一个jsp名称,至于表示,一切都很好。问题在于链接(HREF)。窗口的链接不会改变,相对链接会将我带到不需要的地方 例如(不是真实的): 我有一个可以通过以下方式访问的视图:Spring mvc Spring mvc url问题,spring-mvc,Spring Mvc,我使用的是Spring mvc,我遇到了以下问题: 我的控制器中的每个方法都返回一个jsp名称,至于表示,一切都很好。问题在于链接(HREF)。窗口的链接不会改变,相对链接会将我带到不需要的地方 例如(不是真实的): 我有一个可以通过以下方式访问的视图:/test1/{id} 以及我通过/test1/{id}/update post方法保存并返回第一个视图(返回查看屏幕)。 演示还可以,我可以看到更新的数据。但是窗口url没有更改,如果我再次尝试更新,我将被发送到以下位置:/test1/{id}
/test1/{id}
以及我通过/test1/{id}/update
post方法保存并返回第一个视图(返回查看屏幕)。
演示还可以,我可以看到更新的数据。但是窗口url没有更改,如果我再次尝试更新,我将被发送到以下位置:/test1/{id}/update/update。
如何解决此问题?简短回答:使用重定向 在持续执行某些操作时,必须使用重定向。我猜您在发布到这些url时正在修改数据。所以你绝对需要使用重定向。这解决了用户在进行更新后刷新页面时出现的问题。您是否注意到浏览器关于重新发送数据的警告 示例代码:
@RequestMapping("/test1/{id}/update")
public ModelAndView update(@PathVariable("id") String id){
// make an update
return new ModelAndView("redirect:/test1/" + id);
}
这将向用户发送301或302 HTTP状态。并且浏览器将立即跟随重定向url。请注意,您不应使用视图名称,而应使用url。简短回答:使用重定向 在持续执行某些操作时,必须使用重定向。我猜您在发布到这些url时正在修改数据。所以你绝对需要使用重定向。这解决了用户在进行更新后刷新页面时出现的问题。您是否注意到浏览器关于重新发送数据的警告 示例代码:
@RequestMapping("/test1/{id}/update")
public ModelAndView update(@PathVariable("id") String id){
// make an update
return new ModelAndView("redirect:/test1/" + id);
}
这将向用户发送301或302 HTTP状态。并且浏览器将立即跟随重定向url。请注意,您不应使用视图名称,而应使用url