模板中变量的默认值

时间:2014-08-29 09:41:32

标签: templates grails gsp

我正在使用

<g:render template="myTmpl" model="[MandatoryItem:'value1']" />` 

渲染模板。但我需要将可选的第二个变量传递给模板。我是用

做的
<g:render template="myTmpl" model="[MandatoryVariable:'value1', Optionalvariable:'value2']" />

第二个可选参数在我的模板中显示为null(如果未定义)或定义的值(value2)。如何为未设置的变量定义不同的默认值?

1 个答案:

答案 0 :(得分:3)

如果我理解正确,一个简单的选择就是在模板中使用Elvis运算符。例如:

<span class="variable-span">${OptionalVariable ?: 'defaultValue'}</span>

如果已设置,则使用OptionalVariable的值,否则将使用运算符的右侧。

或者,如果您希望将默认值保留在模板之外,则可以在调用render时使用相同的运算符:

<g:render template="myTmpl" model="[MandatoryItem:'value1', OptionalVariable: someVariable ?: 'defaultValue']" />