0

在我的 spring mvc 上下文中,我有以下映射(还有更多,但这将给出一个总体思路)。 <mvc:view-controller path="/echo" view-name="echo"/>

<context:component-scan base-package="com.myapp.controllers"/>

我遇到的问题是我有一个带注释的控制器@RequestMapping(value = "/e{number}"@PathVariable在具有请求映射的同一控制器中,如果不是整数, 我将用户转储到“家” 。

但是,如果它们与路径/回声匹配,我不希望它们被丢弃到家里。我尝试<property name="order" value="0" />在视图解析上设置一个,但是,没有上下文的顺序,这仍然是优先的。

如何设置组件扫描的优先级,或强制视图解析器在带注释的控制器之前首先匹配。

4

1 回答 1

1

将视图解析器放在控制器前面听起来像是一个糟糕的主意(如果可以做到的话),特别是因为 UrlBasedViewResolver (或其他东西)和子类如果找不到匹配项而不是通过链,则会抛出异常。如果您只希望控制器在路径变量为整数时介入,您应该为 RequestMapping 使用模式匹配选项,类似的东西/e{number:\d+}应该引导您朝着正确的方向进行 Google 搜索。

于 2013-08-28T16:01:11.390 回答