すべてのマッピングを同じ場所に保持したいので、XML 構成を使用します。
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<value>
/video/**=videoControllerr
/blog/**=blogController
</value>
</property>
<property name="alwaysUseFullPath">
<value>true</value>
</property>
</bean>
別のコントローラーで同じ名前の 2 つ目のリクエスト マッピングを作成すると、
@Controller
public class BlogController {
@RequestMapping(value = "/info", method = RequestMethod.GET)
public String info(@RequestParam("t") String type) {
// Stuff
}
}
@Controller
public class VideoController {
@RequestMapping(value = "/info", method = RequestMethod.GET)
public String info() {
// Stuff
}
}
例外があります:
Caused by: java.lang.IllegalStateException: Cannot map handler 'videoController' to URL path [/info]: There is already handler of type [class com.cyc.cycbiz.controller.BlogController] mapped.
異なるコントローラーで同じリクエスト マッピングを使用する方法はありますか?
次のように2つのURLが必要です。
/video/info.html
/blog/info.html
Spring MVC 3.1.1 の使用
編集: 私だけではありません: https://spring.io/blog/2008/03/24/using-a-hybrid-annotations-xml-approach-for-request-mapping-in-spring-mvc
アプリの残りの部分は完全に機能します。