我可以在控制器上的@RequestMapping中指定应用程序路径吗?

时间:2016-04-29 17:09:06

标签: spring spring-mvc

我可以使用EL在我的Spring Controller上使用@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上的每个网址中添加了应用程序路径前缀,例如<form class="form-inline" role="form" action="${pageContext.request.contextPath}/search" method="post">。现在,我需要为我的Spring控制器制作相同的技巧,以便在将此应用程序部署为ROOT应用程序或“只是此服务器上的另一个应用程序”时使其正常工作。

1 个答案:

答案 0 :(得分:1)

您可以在application.properties配置文件中添加根上下文路径。根上下文路径将是所有控制器路径的前缀路径。

application.properties

  

server.contextPath = / MyApp的/我的空间

控制器

  

@RequestMapping(&#34; /测试&#34)

结果:

  

http://localhost:8080/myapp/mypage/test