【发布时间】:2016-04-29 17:09:05
【问题描述】:
我可以使用 EL 在我的 Spring 控制器上使用 @RequestMapping("${pageContext.request.contextPath}") 之类的东西指定我的应用程序上下文路径吗?实际上,我收到 404 错误。所以我的问题是如何在上下文根上映射控制器?
我认为@RequestMapping("/") 在服务器上不是单独的应用程序时无法完成这项工作,并且 url 看起来像:
http://localhost:8080/myapp/mypage
@Controller
@RequestMapping("${pageContext.request.contextPath}")
public class MainController {
@RequestMapping("/")
public ModelAndView index() {
}
}
PS:我已经在我的 JSP 上的每个 url 中添加了应用程序路径前缀,例如 <form class="form-inline" role="form" action="${pageContext.request.contextPath}/search" method="post">。现在,我需要为我的 Spring 控制器使用相同的技巧以使其在以下情况下工作......无论应用程序部署为 ROOT 应用程序还是“只是此服务器上的另一个应用程序”。
【问题讨论】:
-
您想添加上下文路径作为每个 URL 的前缀?
-
这没有任何意义。映射已经相对于上下文根。 Spring 的
DispatcherServlet映射到/。 Servlet 容器已经确定应该调用应用程序的 Servlet。
标签: spring spring-mvc