Проблемы сопоставления URL-адресов Spring Controller - PullRequest
0 голосов
/ 01 февраля 2012

У меня есть следующее сопоставление URL в контроллере

@RequestMapping(value = "/additem.htm", method = RequestMethod.GET)
@RequestMapping(value = "/additem/fileupload.htm", method = RequestMethod.POST)

Я нажимаю на страницу с href="additem.htm" и она переходит к контроллеру с value="/additem.htm" выше. Я заполняю форму в этом и отправляю форму.

Форма отправляется на action="additem/fileupload.htm", который отправляется на контроллер с value="/additem/fileupload.htm". Как только я завершу этот контроллер загрузки файлов и вернусь в jsp, URL браузера превратится в "http://localhost:8080/Dream/additem/fileupload.htm".

Проблема в том, что когда я снова нажимаю на первую ссылку с href="additem.htm", он пытается найти контроллер с отображением, подобным "additem/additem.htm".

Даже при наведении курсора на ссылку браузер отображает URL-адрес как http://localhost:8080/Dream/additem/additem.htm и выдает ошибку. Как мне решить эту проблему с URL?

1 Ответ

3 голосов
/ 01 февраля 2012

Когда вы определяете ссылку в jsp, используйте тег c: url для генерации URL-адресов относительно контекстного пути вашего приложения:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<a href="<c:url value="/additem.htm" />">Click here</a>

Будет добавлен контекстный путь вашего приложения к href. Должно сгенерировать:

<a href="/Dream/additem.htm">Click here</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...