2016-05-24 4 views
0

Я пытаюсь получить мое приложение для обнаружения мобильного устройства и отображения этой страницы, но я не получаю ответа, но моя страница 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> 

enter image description here

ответ

0

spring-boot-mobile требует дополнительное свойство быть установлен для того, чтобы обнаружить Device.

Свойство spring.mobile.devicedelegatingviewresolver.enabled: true

Ниже каталогов по умолчанию структура:

 resources 
     └── templates 
      └── greeting.html 
      └── mobile 
       └── greeting.html 
      └── tablet 
       └── greeting.html 

В вашем случае вам необходимо правильно сопоставить шаблоны.

Spring загрузки 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("/") на что-то другое.

+0

Это уже добавлено. Извините, я забыл добавить его на мой вопрос – Drew1208

+0

@ Drew1208 Обновлен мой ответ. –

+0

Я добавил/индексировал свой '@ RequestMapping' и получил его для работы, но он только отображает строку« mobilePage »в браузере. Я думаю, что мне нужен «resourceViewResolver», но я не уверен. – Drew1208

Смежные вопросы