Jér*_*nge 7 java configuration spring-mobile
Spring移动文档建议添加以下配置:
<mvc:annotation-driven>
<mvc:argument-resolvers>
<beans:bean class="org.springframework.mobile.device.DeviceWebArgumentResolver" />
</mvc:argument-resolvers>
</mvc:annotation-driven>
Run Code Online (Sandbox Code Playgroud)
将当前的Device对象作为参数传递给@Controller方法.
然而,人们可以使用:
@EnableWebMvc
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
}
Run Code Online (Sandbox Code Playgroud)
和旁路<mvc:annotation-driven>配置.
那么,如何以DeviceWebArgumentResolver编程方式添加?
解决方案(卢西亚诺):
@EnableWebMvc
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addArgumentResolvers(
List<HandlerMethodArgumentResolver> argumentResolvers) {
// Adding Spring mobile argument resolvers
argumentResolvers.add(
new ServletWebArgumentResolverAdapter(
new DeviceWebArgumentResolver()));
argumentResolvers.add(
new ServletWebArgumentResolverAdapter(
new SitePreferenceWebArgumentResolver()));
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
WebMvcConfigurerAdapter 包含一个名为的方法 addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers)
这是您需要实现的方法,但首先需要将a WebArgumentResolver(在本例中DeviceWebArgumentResolver)转换为a HandlerMethodArgumentResolver.为此,存在一个名为的类ServletWebArgumentResolverAdapter.
| 归档时间: |
|
| 查看次数: |
2364 次 |
| 最近记录: |