4

Play 1.x では&{task?.server?.name}、サーバー名が存在する場合はそれを出力したり、 nulltaskまたはtask.servernull の場合は何も出力したりできませんでした。2.x の scala テンプレートで同じ結果を得るにはどうすればよいですか?

Scala で一般的にこれを行うことについて、いくつかの質問を見つけました。

ただし、これらのソリューションはかなり冗長であるか、独自の演算子を定義する必要があります。Play はこれを行う簡単な方法を提供していますか? または、自分で演算子を定義する必要がある場合、Play が見つけられるようにどこに配置すればよいでしょうか? (私はこの時点で Scala についてほとんど何も知りませんが、学ぼうとしています)

4

1 に答える 1

0

null 処理関連の質問と回答が既にここにたくさんあるので、Play-2 関連の質問だけに集中します。

簡単なテストを行ったところ、テンプレート システムは null 値の直接的な逆参照を空の文字列に変換するようです。null として渡されたオブジェクトで何らかのメソッドを呼び出そうとすると、これでも NPE を回避できません。そのためには、これらすべての他の回答で説明されている方法のいくつかを使用する必要があります。新しい演算子を定義する場合は、好きなパッケージに配置して、次の行をテンプレートに追加できます。

@import some.package._

これにより、 some.package 内のすべてがテンプレートでアクセス可能になります。

通常のグッド プラクティスの警告が引き続き適用されます。Java との相互運用でのみ null を使用するようにしてください。他のすべてについては、オプションがあります。

于 2012-07-11T09:24:34.400 に答える