Обнаружение мобильного устройства с пружинной загрузкой

Я пытаюсь заставить свое приложение обнаружить мобильное устройство и отобразить эту страницу, но я не получаю ответа, но моя страница 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("/") к чему-то еще.

Другие вопросы по тегам