24

この次のコードをプロジェクトに追加したとき

Form<User> filledForm2 = userSignupForm.bindFromRequest();

次のようなエラー メッセージが表示され、動作が停止しました。

Execution exception
[IllegalStateException: JSR-303 validated property 'Password' does not have a corresponding accessor for data binding - check your DataBinder's configuration (bean property versus direct field access)]

Userのクラスはそのようなものでした:

class User{
String username;
String Password;
}

java play フレームワークで DataBinder の構成を確認/変更するにはどうすればよいですか?

4

5 に答える 5

50

Play は getter と setter を自動的に生成するため、実際にはこれは発生しないはずです。Guillaumeのコメントを参照してください。

したがって、Eclipse に関する Guillaume のコメントなど、IDE が問題を引き起こしている可能性があります。または、sbt キャッシュが破損していて、クリーニングが必要な場合は、クリーニングを行うことができますplay clean-all(詳細については、こちらを参照してください) 。

ちなみに、Password属性をに変更するpasswordと、キャッシュが再生成され、問題が修正された可能性があります。

アップデート:

を使用するより最近のバージョンの Play についてactivatorは、以下が最新の同等のもののようです:

activator cleanactivator clean-files

于 2013-07-22T09:32:40.337 に答える
-5

Had the same issue...

To remove this error, you should define your variables as public.

class User{
   public String username;
   public String password;
}
于 2014-01-28T11:00:17.510 に答える