Перенаправление с GET требует относительного пути, почему? - PullRequest
1 голос
/ 18 апреля 2011

Я очень новичок в Spring MVC и наблюдаю довольно банальное поведение, которого я не понимаю.

Ниже вы можете найти фрагменты для моего контроллера (учтите, что у меня есть 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 Ответ

1 голос
/ 18 апреля 2011

Возможно, UrlBasedViewResolver обрабатывает имена представлений относительно текущего URL-адреса отображения запроса (требуется цитирование).

В любом случае, я всегда использую контекстные абсолютные пути (начиная с косой черты): redirect:/list.На самом деле, если ваш jsp называется «feedList», то вы должны вернуть redirect:/feedList

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...