【问题标题】:Default value for variable in template模板中变量的默认值
【发布时间】:2014-10-23 07:26:58
【问题描述】:

我正在使用

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

渲染模板。但我需要将一个可选的第二个变量传递给模板。我正在这样做

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

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

【问题讨论】:

    标签: templates grails gsp


    【解决方案1】:

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

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

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

    或者,如果您想在模板中保留默认值,您可以在调用渲染时使用相同的运算符:

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

    【讨论】:

    • 谢谢,我使用了 Elvis 运算符。
    猜你喜欢
    • 2012-01-30
    • 2012-02-27
    • 2021-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-27
    • 1970-01-01
    • 2013-11-05
    相关资源
    最近更新 更多