我有一个 web 应用程序,它将 main.gsp 定义为所有视图中使用的默认布局,并且我正在使用 spring-mobile 插件在移动视图和桌面视图之间切换。但我现在想在移动用户的 mobile.gsp 布局和 main.gsp 布局之间进行更改。
做这个的最好方式是什么?
我有一个 web 应用程序,它将 main.gsp 定义为所有视图中使用的默认布局,并且我正在使用 spring-mobile 插件在移动视图和桌面视图之间切换。但我现在想在移动用户的 mobile.gsp 布局和 main.gsp 布局之间进行更改。
做这个的最好方式是什么?
由于您使用的是 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}">