为移动用户选择不同的grails布局

时间:2012-07-22 05:59:11

标签: grails web-applications mobile

我有一个webapp,它将main.gsp定义为在所有视图中使用的默认布局,我使用spring-mobile插件在移动和桌面视图之间切换。但我想现在在移动用户的mobile.gsp布局和main.gsp布局之间进行更改。

这样做的最佳方式是什么?

1 个答案:

答案 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}">