我有一个播放模板,其中参数的最典型场景是“null”。
我知道惯用的 Scala 更喜欢 Option 。
我来自 java 的第一个直觉是使用 null。
带有 null 的情况:
在控制器中
views.html.addPost(errors.errorsAsJson)
在视图中
@(errors: play.api.libs.json.JsValue = null)
...
@if(errors != null){@errors}
带选项的案例:
在控制器中
views.html.addPost(Option(errors.errorsAsJson))
在视图中
@(errors: Option[play.api.libs.json.JsValue] = None)
...
@{errors match {
case None => {}
case _ => {errors.get}
}
}
更新:我现在明白了。
代替:
@{errors match {
case None => {}
case _ => {errors.get}
}
}
我可以做
@errors
更新 2:
显然我也不必对 null 进行 null 检查?也许有Play framework
什么魔法?调用空变量无异常。