diff --git a/spring-mobile/pom.xml b/spring-mobile/pom.xml
index ff90ac6ecb..465458ba49 100644
--- a/spring-mobile/pom.xml
+++ b/spring-mobile/pom.xml
@@ -10,9 +10,9 @@
com.baeldung
- parent-boot-1
+ parent-boot-2
0.0.1-SNAPSHOT
- ../parent-boot-1
+ ../parent-boot-2
@@ -23,11 +23,24 @@
org.springframework.mobile
spring-mobile-device
+ ${spring-mobile-device.version}
org.springframework.boot
spring-boot-starter-freemarker
-
+
+
+ spring-milestones
+ Spring Milestones
+ https://repo.spring.io/libs-milestone
+
+ false
+
+
+
+
+ 2.0.0.M3
+
diff --git a/spring-mobile/src/main/java/com/baeldung/AppConfig.java b/spring-mobile/src/main/java/com/baeldung/AppConfig.java
new file mode 100644
index 0000000000..efa073ae11
--- /dev/null
+++ b/spring-mobile/src/main/java/com/baeldung/AppConfig.java
@@ -0,0 +1,36 @@
+package com.baeldung;
+
+import java.util.List;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.mobile.device.DeviceHandlerMethodArgumentResolver;
+import org.springframework.mobile.device.DeviceResolverHandlerInterceptor;
+import org.springframework.web.method.support.HandlerMethodArgumentResolver;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+@Configuration
+public class AppConfig implements WebMvcConfigurer {
+
+ @Bean
+ public DeviceResolverHandlerInterceptor deviceResolverHandlerInterceptor() {
+ return new DeviceResolverHandlerInterceptor();
+ }
+
+ @Bean
+ public DeviceHandlerMethodArgumentResolver deviceHandlerMethodArgumentResolver() {
+ return new DeviceHandlerMethodArgumentResolver();
+ }
+
+ @Override
+ public void addInterceptors(InterceptorRegistry registry) {
+ registry.addInterceptor(deviceResolverHandlerInterceptor());
+ }
+
+ @Override
+ public void addArgumentResolvers(List argumentResolvers) {
+ argumentResolvers.add(deviceHandlerMethodArgumentResolver());
+ }
+
+}
diff --git a/spring-mobile/src/main/java/com/baeldung/controller/IndexController.java b/spring-mobile/src/main/java/com/baeldung/controller/IndexController.java
index 196fb680e7..49880f355a 100644
--- a/spring-mobile/src/main/java/com/baeldung/controller/IndexController.java
+++ b/spring-mobile/src/main/java/com/baeldung/controller/IndexController.java
@@ -16,13 +16,16 @@ public class IndexController {
String deviceType = "browser";
String platform = "browser";
+ String viewName = "index";
if (device.isNormal()) {
deviceType = "browser";
} else if (device.isMobile()) {
deviceType = "mobile";
+ viewName = "mobile/index";
} else if (device.isTablet()) {
deviceType = "tablet";
+ viewName = "tablet/index";
}
platform = device.getDevicePlatform().name();
@@ -33,7 +36,7 @@ public class IndexController {
LOGGER.info("Client Device Type: " + deviceType + ", Platform: " + platform);
- return "index";
+ return viewName;
}
}
diff --git a/spring-mobile/src/main/resources/application.properties b/spring-mobile/src/main/resources/application.properties
index c0bc91f9ac..7d964f48fb 100644
--- a/spring-mobile/src/main/resources/application.properties
+++ b/spring-mobile/src/main/resources/application.properties
@@ -1 +1,3 @@
-spring.mobile.devicedelegatingviewresolver.enabled: true
\ No newline at end of file
+spring.mobile.devicedelegatingviewresolver.enabled: true
+spring.freemarker.template-loader-path: classpath:/templates
+spring.freemarker.suffix: .ftl
\ No newline at end of file