Java在播放bindFromRequest时引发异常

Java在播放bindFromRequest时引发异常,java,binding,playframework-2.0,Java,Binding,Playframework 2.0,我正试图绑定来自POST的一些数据,但出于某种原因,它一直抛出异常。但奇怪的是,我有一个几乎相同的对象,绑定得很好。我的一些代码如下: public static Result login() { return ok( login.render(Form.form(Login.class)) ); } public static Result authenticate() { Form<Login> loginForm = Form.form(Login.class).b

我正试图绑定来自
POST
的一些数据,但出于某种原因,它一直抛出异常。但奇怪的是,我有一个几乎相同的对象,绑定得很好。我的一些代码如下:

public static Result login() {
return ok(
  login.render(Form.form(Login.class))
);
}


public static Result authenticate() {
  Form<Login> loginForm = Form.form(Login.class).bindFromRequest();
  // Do stuff
}

public static Result createUser() {
        return ok(createUser.render(Form.form(NewUser.class)));
}

public static Result createUserPost() {
        Form<NewUser> newUserForm = Form.form(NewUser.class).bindFromRequest();
        // Do stuff
}

public static class Login {
  public String userName;
  public String password;
  public String validate(){
    Logger.info("userName: %s, Password: %s", userName, password);
    if (User.validate(userName, password) == null){
      return "Invalid username or password";
    }
    return null;
  }
}

public static class NewUser {
        public String userName;
        public String password;

        public String validate() {
                // TODO: Better error messages
                if (Validation.username(userName) == null && Validation.password(password) == null) {
                        return null;
                }
                else {
                        return "The username or password is not valid.";
                }
        }
}
公共静态结果登录(){
返回ok(
login.render(Form.Form(login.class))
);
}
公共静态结果验证(){
Form loginForm=Form.Form(Login.class).bindFromRequest();
//做事
}
公共静态结果createUser(){
返回ok(createUser.render(Form.Form(NewUser.class));
}
公共静态结果createUserPost(){
Form newUserForm=Form.Form(NewUser.class).bindFromRequest();
//做事
}
公共静态类登录{
公共字符串用户名;
公共字符串密码;
公共字符串验证(){
Logger.info(“用户名:%s,密码:%s”,用户名,密码);
if(User.validate(用户名、密码)==null){
返回“无效用户名或密码”;
}
返回null;
}
}
公共静态类NewUser{
公共字符串用户名;
公共字符串密码;
公共字符串验证(){
//TODO:更好的错误消息
if(Validation.username(username)==null&&Validation.password(password)==null){
返回null;
}
否则{
return“用户名或密码无效。”;
}
}
}
出于某种原因,
authenticate
方法绑定了
Login
类,但是
createUserPost
方法没有绑定
NewUser
类(除了表单类型为
Login
NewUser
之外,两个视图完全相同)。更奇怪的是,如果我更改
createUser
createUserPost
,以及使用
Login
类的视图,它绑定得很好


有人知道为什么会这样吗

因此,出于某种原因,Play(或Java)不喜欢在同一个Java文件中有多个静态类。一旦我们将这两个类重构为它们自己的文件,它就工作得很好