使用GET重定向需要相对路径,为什么?

时间:2011-04-17 21:36:07

标签: model-view-controller spring spring-mvc

我是Spring MVC的新手,我看到了一个我不理解的相当微不足道的行为。

Bellow你可以找到我的Controller的片段(考虑我有feed.jsp和feedList.jsp)。我不明白的是为什么我需要在一个重定向中使用“../list”,而另一个在没有它的情况下工作

@Controller
@RequestMapping("/feed/*")
public class FeedController {
   @RequestMapping(value = "delete/{feedId}", method = RequestMethod.GET)
   public String deleteFeed(@PathVariable("feedId") Integer feedId) {
      feedService.delete(feedId);
      return "redirect:../list";
   }
   @RequestMapping(value = "save", method = RequestMethod.POST)
   public String saveFeed(@ModelAttribute("feed") Feed feed, BindingResult result) {
      feedService.create(feed);
      return "redirect:list";
   }
}

1 个答案:

答案 0 :(得分:1)

也许UrlBasedViewResolver正在处理视图名称相对于当前请求映射URL(需要引用)。

无论如何,我总是使用上下文相对绝对路径(以斜杠开头):redirect:/list。实际上,如果你的jsp被称为“feedList”,那么你应该返回redirect:/feedList