我有一个对象,我想将表单值映射到。例如,我们只使用这个类:
public class Example
{
public String x;
public Integer y;
public Boolean z;
}
出于示例的目的,假设这些值以2种不同的形式使用,其中一次只有2个成员被填充(即表单1使用x和y,但不使用z)。使用标准DataBinder,如果表单没有填充Integer或Boolean,则会失败(null point exception)。一种选择是使用占位符填充HTML表单,但如果需要保留大量的成员,则会变得有点头疼。我认为另一个选项是创建自定义DataBinder吗?
根据我在文档中找到的信息,它看起来相当简单(http://www.playframework.com/documentation/2.1.x/JavaForms)。但是,我不确定在哪里注册格式化程序。它是否进入控制器?我看到有人提到把它放在Global(How to bind complex types in play-framework 2.0)中。基本上我正在寻找一个更好的例子来说明如何设置一个格式化程序(映射到字符串以外的东西)并使用它。有人能指出我正确的方向吗?