将带有默认值的可选参数传递给自定义播放模板

时间:2011-12-19 16:55:16

标签: templates groovy playframework

有没有办法用可选参数定义自定义模板?

这样的东西
%{
  try {
    _name = _name
  } catch (Exception e) {
    _name = "Guest"
  }
}%

Hello ${_name}

这种方式如果使用name: "Foo"调用模板,则使用它,否则使用“Guest”。

我尝试了上述内容,除了在同一页面上无法重复使用的问题之外,我根本无法使用它(模板崩溃或没有编译,catch子句没有运行)。 / p>

有更好的方法吗?

P.S。我正在使用Play 1.2.4+(最新的1.2分支)

1 个答案:

答案 0 :(得分:1)

你可以使用这样的groovy表达式

Hello ${_name ?: "default"}

或者您可以使用Java代码以艰难的方式完成它。 http://www.playframework.org/documentation/1.2.4/templates#fasttags