在我的spring mvc上下文中,我有以下映射(还有更多,但这会给出一个大致的想法)。
<mvc:view-controller path="/echo" view-name="echo"/>
<context:component-scan base-package="com.myapp.controllers"/>
我遇到的问题是我有一个带@RequestMapping(value = "/e{number}"
的注释控制器。在具有请求映射的同一个控制器中,我有一个重定向,如果@PathVariable
不是整数,则将用户转储到“home”。
但是如果匹配路径/回声,我不希望它们被转储到家中。我尝试在视图解析时设置<property name="order" value="0" />
但是没有上下文的顺序,仍然优先考虑。
如何在组件扫描中设置优先级,或者在带注释的控制器之前强制视图解析器首先匹配。
答案 0 :(得分:1)
让控制器前面的视图解析器听起来像一个可怕的想法(如果能够完成),特别是因为UrlBasedViewResolver(或其他)和子类如果找不到匹配而不是通过它们会抛出异常连锁,链条。如果您只希望控制器在路径变量为整数时介入,则应使用RequestMapping的模式匹配选项,/e{number:\d+}
之类的东西应引导您朝着正确的方向进行Google搜索。