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