Обнаружение мобильного устройства с пружинной загрузкой
Я пытаюсь заставить свое приложение обнаружить мобильное устройство и отобразить эту страницу, но я не получаю ответа, но моя страница index.html выполняет рендеринг. Это полностью игнорирует мой мобильный контроллер.
@Controller
public class DeviceDetection {
@RequestMapping("/")
public @ResponseBody String detectDevice(Device device) {
if (device.isNormal()) {
System.out.println("Inside isNormal()");
return "index";
} else if (device.isMobile()) {
System.out.println("Inside isMobile()");
return "mobilePage";
} else if (device.isTablet()) {
return "mobilePage";
}
return "index";
}
}
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mobile</artifactId>
</dependency>
1 ответ
spring-boot-mobile
требует, чтобы было установлено дополнительное свойство для обнаружения вашего Device
,
Свойство spring.mobile.devicedelegatingviewresolver.enabled: true
Ниже приведена структура каталогов по умолчанию:
resources
└── templates
└── greeting.html
└── mobile
└── greeting.html
└── tablet
└── greeting.html
В вашем случае вам нужно правильно сопоставить ваши шаблоны.
Весенний ботинок spring-mobile
свойства для настройки поведения:
spring.mobile.devicedelegatingviewresolver.enable-fallback=false
- Включить поддержку резервного разрешения.
spring.mobile.devicedelegatingviewresolver.enabled=false
- Включить распознаватель вида устройства
spring.mobile.devicedelegatingviewresolver.mobile-prefix=mobile/
- Префикс, который добавляется для просмотра имен для мобильных устройств.
spring.mobile.devicedelegatingviewresolver.mobile-suffix=
- Суффикс, который добавляется для просмотра имен для мобильных устройств.
spring.mobile.devicedelegatingviewresolver.normal-prefix=
- Префикс, который добавляется для просмотра имен для обычных устройств.
spring.mobile.devicedelegatingviewresolver.normal-suffix=
- Суффикс, добавляемый для просмотра имен для обычных устройств.
spring.mobile.devicedelegatingviewresolver.tablet-prefix=tablet/
- Префикс, который добавляется для просмотра имен для планшетных устройств.
spring.mobile.devicedelegatingviewresolver.tablet-suffix=
- Суффикс, который добавляется для просмотра имен для планшетных устройств.
spring.mobile.sitepreference.enabled=true
- Включить SitePreferenceHandler.
Также я бы изменил @RequestMapping("/")
к чему-то еще.