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

Templates 将带有默认值的可选参数传递给自定义播放模板,templates,groovy,playframework,Templates,Groovy,Playframework,有没有办法用可选参数定义自定义模板 差不多 %{ try { _name = _name } catch (Exception e) { _name = "Guest" } }% Hello ${_name} 这样,如果使用名称调用模板:“Foo”,则使用该模板,否则使用“Guest” 我尝试了上面的方法,除了在同一个页面上不可重用之外,我根本无法让它工作(模板崩溃或未编译,catch子句未运行) 有更好的办法吗 另外,我正在使用Play1.2.4+(最新的1.2

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

差不多

%{
  try {
    _name = _name
  } catch (Exception e) {
    _name = "Guest"
  }
}%

Hello ${_name}
这样,如果使用
名称调用模板:“Foo”
,则使用该模板,否则使用“Guest”

我尝试了上面的方法,除了在同一个页面上不可重用之外,我根本无法让它工作(模板崩溃或未编译,catch子句未运行)

有更好的办法吗


另外,我正在使用Play1.2.4+(最新的1.2分支)

您可以像这样使用groovy表达式

Hello ${_name ?: "default"}
或者,您也可以使用java代码以艰难的方式完成。