1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
   | @Configuration
@ComponentScan("fr.toto.web")
@EnableWebMvc
public class DispatcherServletConfig extends WebMvcConfigurerAdapter {
    private final Log log = LogFactory.getLog(DispatcherServletConfig.class);
 
	@Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("home");
        registry.addViewController("/login").setViewName("login");
        registry.addViewController("/about").setViewName("about");
 
        registry.addViewController("/mobile_login").setViewName("mobile_login");
        registry.addViewController("/mobile").setViewName("mobile");
    }
 
    @Override
	public void addInterceptors(InterceptorRegistry registry) {
    	registry.addInterceptor(new DeviceResolverHandlerInterceptor() {
			@Override
			public void postHandle(HttpServletRequest request, HttpServletResponse response,
								   Object handler, ModelAndView modelAndView) throws Exception {
				Device currentDevice = DeviceUtils.getCurrentDevice(request);
				if (currentDevice.isMobile()) {
					if (request.getRequestURI().endsWith("/login")) {
						response.sendRedirect("mobile_login");
					} else {
						response.sendRedirect("mobile");
					}
				}
			}
    	});
	}
... |