フォーム値をマップしたいオブジェクトがあります。たとえば、次のクラスを使用してみましょう。
public class Example
{
public String x;
public Integer y;
public Boolean z;
}
例として、これらの値が 2 つの異なるフォームで使用され、一度に 2 つのメンバーのみが入力されるとします (つまり、フォーム 1 は x と y を使用し、z は使用しません)。標準の DataBinder を使用すると、Integer または Boolean のいずれかがフォームによって入力されていない場合 (null ポイント例外)、これは失敗します。1 つのオプションは、HTML フォームにプレースホルダーを入力することですが、多数のメンバーを null のままにしておく必要がある場合、これは少し頭の痛い問題になります。私が信じている他のオプションは、カスタム DataBinder を正しく作成することですか?
ドキュメントで見つけた情報に従うと、かなり簡単に見えます ( http://www.playframework.com/documentation/2.1.x/JavaForms )。ただし、フォーマッタをどこに登録すればよいかわかりません。コントローラーに入りますか?グローバルに配置するという言及を見ました(play-framework 2.0 で複合型をバインドする方法)。基本的に、フォーマッタ (文字列以外のものにマップする) をセットアップして使用する方法のより良い例を探しています。誰かが私を正しい方向に向けることができますか?