Могу ли я использовать EL для указания пути моего контекста приложения на моем контроллере Spring, используя что-то вроде @RequestMapping("${pageContext.request.contextPath}")
? На самом деле, я получаю ошибку 404. Итак, мой вопрос заключается в том, как сопоставить контроллер с корнем контекста?Могу ли я указать путь приложения в @RequestMapping на контроллере?
Я полагаю @RequestMapping("/")
не может выполнять работу, когда приложение не только на сервере, и URL выглядит следующим образом: http://localhost:8080/myapp/mypage
@Controller
@RequestMapping("${pageContext.request.contextPath}")
public class MainController {
@RequestMapping("/")
public ModelAndView index() {
}
}
PS: Я уже добавил префикс приложения путь в каждом URL на мои JSP, как <form class="form-inline" role="form" action="${pageContext.request.contextPath}/search" method="post">
. Теперь мне нужно сделать тот же трюк для контроллеров Spring, чтобы он работал, когда ... приложение wheather было развернуто как приложение ROOT или как «просто другое приложение на этом сервере».
Вы хотите добавить свой путь контекста в качестве префикса для каждого URL? –
Это не имеет никакого смысла. Сопоставления уже относятся к корню контекста. Spring 'DispatcherServlet' сопоставляется с'/'. Контейнер Servlet уже решил, что сервлет вашего приложения должен быть вызван. –