我有一个请求映射,可以处理上下文之后的任何字符串,例如www.example.com/anystring
我处理如下:
@RequestMapping(value="/{str}", method = RequestMethod.GET)
public String getApp(@PathVariable("str") String anyString, ModelMap model) {
//Do something
}
问题是我的应用中有 2-3 个 URL,其中 URL 如下:www.example.com/about,www.example.com/contact等。
我为他们写了请求映射如下:
@RequestMapping("/about")
public String getAboutPage() {
return "about";
}
但显然,由于我已经声明任何字符串都应由 处理getApp()
,因此getAboutPage()
永远不会执行。如何从映射中排除/about
等。我们显然可以在 URL 字符串中添加另一个关键字,但这在我的应用程序用例中是不可能的。请帮忙。:(/contact
getApp()
编辑:
我应该在里面处理/about
吗:/contact
getApp()
@RequestMapping(value="/{str}", method = RequestMethod.GET)
public String getApp(@PathVariable("str") String anyString, ModelMap model) {
if(anyString.equals("about")){
//do about related stuff
}
if(anyString.equals("contact")){
//do contact related stuff
}
//Do something
}
有没有更好的办法?