Spring MVC добавляет и удаляет уровни в URL

#java #spring

#java #spring

Вопрос:

Я столкнулся с проблемой при добавлении другого уровня в мой URL-адрес сопоставления запросов. Вот подробности:

У меня есть первая страница: A и соответствующий контроллер A с отображением запроса A . (RequestMapping=»A»)

Со страницы A пользователь может перейти на две дополнительные страницы: B, C. Эти две страницы очень тривиальны и собирают дополнительную информацию для страницы A. Как только пользователь закончит со страницами B и C, он вернется к A.

Поэтому я добавил B и C в качестве дополнительного уровня поверх A. (Чтобы отразить это логическое отношение) Их URL выглядит как: http://contextRoot/A/B , а http://contextRoot/A/C контроллер для страниц B и C имеет сопоставление запросов A/B и A/C .

** Проблема в следующем: ** Я обнаружил, что не смог вернуться к предыдущему уровню URL. Например, в контроллерах B и C, если я возвращаю представление с помощью redirect:D ( D is another page after A ), оно перенаправит меня на http://contextRoot/A/D , вместо http://contextRoot/D .

Как это исправить?

Комментарии:

1. Попробуйте redirect:../D .

2. Примите во внимание Spring Web Flow также, где процесс потока между страницами там хорошо освещен.

3. URI являются относительными, используются ../A для перехода вверх один раз или /A для использования абсолютных путей.