resorte móvil documentation sugiere la adición de la siguiente configuración:Spring Mobile: cómo agregar DeviceWebArgumentResolver programáticamente?
<mvc:annotation-driven>
<mvc:argument-resolvers>
<beans:bean class="org.springframework.mobile.device.DeviceWebArgumentResolver" />
</mvc:argument-resolvers>
</mvc:annotation-driven>
para pasar el objeto de dispositivo actual como un argumento a @Controller
métodos.
Sin embargo, se puede utilizar:
@EnableWebMvc
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
}
y bypass <mvc:annotation-driven>
configuración.
Entonces, ¿cómo agregar un DeviceWebArgumentResolver
programáticamente?
Solución (Luciano):
@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()));
}
// ...
}
A partir de la versión 1.1.0.M1, Spring Mobile ahora incluye un 'DeviceHandlerMethodArgumentResolver' para admitir la configuración basada en Java. –