Spring モバイルのドキュメントでは、次の構成を追加することが提案されています。
<mvc:annotation-driven>
<mvc:argument-resolvers>
<beans:bean class="org.springframework.mobile.device.DeviceWebArgumentResolver" />
</mvc:argument-resolvers>
</mvc:annotation-driven>
現在の Device オブジェクトを引数として@Controller
メソッドに渡します。
それでも、次のものを使用できます。
@EnableWebMvc
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
}
構成をバイパスし<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()));
}
// ...
}