我正在使用
<g:render template="myTmpl" model="[MandatoryItem:'value1']" />`
渲染模板。但我需要将可选的第二个变量传递给模板。我是用
做的<g:render template="myTmpl" model="[MandatoryVariable:'value1', Optionalvariable:'value2']" />
第二个可选参数在我的模板中显示为null
(如果未定义)或定义的值(value2
)。如何为未设置的变量定义不同的默认值?
答案 0 :(得分:3)
如果我理解正确,一个简单的选择就是在模板中使用Elvis运算符。例如:
<span class="variable-span">${OptionalVariable ?: 'defaultValue'}</span>
如果已设置,则使用OptionalVariable
的值,否则将使用运算符的右侧。
或者,如果您希望将默认值保留在模板之外,则可以在调用render时使用相同的运算符:
<g:render template="myTmpl" model="[MandatoryItem:'value1', OptionalVariable: someVariable ?: 'defaultValue']" />