根据Grails中的环境使用不同的布局/ main.gsp

时间:2015-06-03 23:20:18

标签: grails build gsp

我正在尝试为我的应用程序提供两种不同的布局。大多数更改都是基于CSS的,但是某些元素也可能会被移动(例如将导航栏从顶部移动到侧面)。我决定最简单的是有两个主要布局,并根据我编译的环境选择一个。

我正在阅读grails event scripts and how to hoop up on there。理想情况下,我想拥有red_main.gsp和blue_main.gsp,并在构建期间将其中一个复制到main.gsp。在线的例子非常有限,我很感激一些见解。

谢谢!

1 个答案:

答案 0 :(得分:0)

以下是我为那些被困在同一条船上的人所做的事情。这是我的scripts/_Events.gsp文件:

eventCompileStart = { msg -> 
   def envn = grails.util.Environment.current.name
   def mainName = "";
   if( envn.contains("_red" ) ) {
       mainName = "main_red.gsp"
   }
   else { 
       mainName = "main_blue.gsp"
   }

   ant.copy(file: "${basedir}/grails-app/views/layouts/${mainName}", 
           tofile: "${basedir}/grails-app/views/layouts/main.gsp", 
           overwrite: true) 
}