Spring cellulare documentation suggeriscono aggiungendo la seguente configurazione:Spring Mobile: come aggiungere DeviceWebArgumentResolver in modo programmatico?
<mvc:annotation-driven>
<mvc:argument-resolvers>
<beans:bean class="org.springframework.mobile.device.DeviceWebArgumentResolver" />
</mvc:argument-resolvers>
</mvc:annotation-driven>
passare l'oggetto corrente Dispositivo come argomento @Controller
metodi.
Eppure, si può usare:
@EnableWebMvc
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
}
e bypass <mvc:annotation-driven>
configurazione.
Quindi, come aggiungere uno DeviceWebArgumentResolver
programmaticamente?
Solution (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 partire dalla versione 1.1.0.M1, Spring Mobile ora include un 'DeviceHandlerMethodArgumentResolver' per supportare la configurazione basata su Java. –