2012-07-22 2 views
1

У меня есть webapp, который определяет main.gsp как макет по умолчанию, который используется во всех представлениях, и я использую plug-and-play плагин для переключения между мобильным и настольным представлениями. Но теперь я хочу перейти между макетом mobile.gsp и макетом main.gsp для мобильных пользователей.Выберите другой макет грааля для мобильного пользователя

Каков наилучший способ для этого?

+0

Если у вас есть различные виды для мобильных телефонов почему вы не можете просто изменить эти представления, чтобы использовать макет mobile.gsp? Может быть, я не понимаю. – Kelly

+0

У меня были совершенно разные взгляды, но вопрос, который я ставил, - это то, что если бы я хотел использовать один и тот же вид, но с разными макетами. –

ответ

2

Поскольку вы используете Spring Mobile вы можете использовать фильтр для перехвата вызовов контроллера и установить раскладку:

class MobileFilters { 
    def filters = { 
     mobileFilter(controller:'*', action:'*') { 
      afterView = {  
       def layout = "main" 
       withMobileDevice { 
        layout = "mobile" 
       } 
       session.layout = layout 
      } 
     } 
    } 
} 

, а затем в вашем GSPS

<meta name="layout" content="${session.layout}"> 
Смежные вопросы