如何将环境变量注入Grails GSP文件?

时间:2014-06-03 12:41:29

标签: grails environment-variables gsp

说我有以下Grails(2.3.6)GSP文件:

<%
    String env = ??? how to get from the -Dgrails.env arg below?
%>
<head>
    <!-- head stuff -->
</head>
<body>
    <h2>I am running in the ${env} environment!</h2>
</body>

现在让我说我在指定的不同环境下运行我的Grails应用程序:

  

grails -Dgrails.env = dev run-app

     

grails -Dgrails.env = fizz run-app

     

grails -Dgrails.env = buzz run-app

...等。如何将-Dgrails.env参数注入GSP文件中的env变量?

2 个答案:

答案 0 :(得分:3)

试试这个:

<%
    String env = grails.util.Environment.current.name
%>

My Environment = ${env}

答案 1 :(得分:2)

如果您在config.groovy中定义了一个块,以匹配您在-Dgrails.env=foo

中传递的环境
environments {
   foo {
       setting = "bar"
   }
}

然后,这将作为配置设置的一部分提供,并且可以使用if taglib轻松访问它们。

<g:if env="foo">
    <!-- Markup to include ONLY when in foo -->
</g:if>

或者您可以从该配置块中获取任何内容。

${grailsApplication.config}