2017-06-05 48 views
0

我是Play新玩家!所以我试图创建一个非常基本的发布请求,将用户输入到表单中的数据提取出来。但是,当我从窗体中拉出对象时,它的所有字段都是空的。例如。这是我写的叫做用户的基本类。Play框架bindFromRequest()方法返回空参数的对象

public class User{ 

public String email; 
public String password; 

} 

简单。这是我在Controller中的新用户类。

public Result new_user() { 
    User user = Form.form(User.class).bindFromRequest().get(); 

    System.out.println("Username: " + user.email); 
    System.out.println("Password: " + user.password); 

    return ok("This worked."); 
    } 

我的路线文件:

GET /     controllers.HomeController.start 
POST /accounts/login  controllers.HomeController.new_user() 

最后,HTML表单:

 <form action = "@routes.HomeController.new_user()" method = "post"> 
     <input type="text" name="firstname"> 
     <input type="text" name="lastname"> 
     <button>Add Person</button> 
     </form> 

我知道这不保存到数据库中,但我真的没有看到如果我甚至无法打印到控制台,请尝试一下。无论我输入什么内容,控制台基本上都会打印出“null”和“null”。我知道它确实创建了对象,因为打印用户将显示如下所示的内容:

[email protected] 

但是这些字段未设置!我能做些什么才能做到这一点?

编辑:我应该提及的是,我检查了表单是否有任何错误,它返回了错误。

回答

0

修复代码的HTML:

 <input type="text" name="email"> 
    <input type="text" name="password"> 
+0

谢谢!我在前几天发现它,但事实上这是正确的解决方法。 – ajax992