私はプレイするのが初めてです!私はユーザーがフォームに入力するデータを取得する非常に基本的な投稿要求を作成しようとしています。しかし、フォームからオブジェクトを取得すると、そのフィールドはすべてnullになります。例えば。ここでは、私はユーザーと呼ばれる基本的なクラスです。Play Framework bindFromRequest()メソッドは、nullパラメータを持つオブジェクトを返します
public class User{
public String email;
public String password;
}
シンプルです。ここに私の新しいユーザクラスがコントローラの中にあります。
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.");
}
マイroutesファイル:
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]
フィールドは設定されていません!これを実現するには何ができますか?
編集:フォームにエラーがあるかどうかを確認したことを言及する必要があります。誤って戻ってきました。
はありがとうございました!私は数日前にそれを理解しましたが、これは実際に正しい修正です。 – ajax992