ログ日記

作業ログと日記とメモ

WicketのValueMapで警告が出る。

SignInPanelで使われていたので、それを見ながら同じコードを書いたら警告が出た。

WARNING: Couldn't resolve model type of Model:classname=
[org.apache.wicket.model.PropertyModel]:nestedModel= ... , please set the type yourself.

ValueMapのAPIを見る限り、オブジェクトを何でもセットできて取り出すときに型を指定して取り出すっぽい。
回避策はメッセージ通りに

private final ValueMap properties = new ValueMap();

...

    add(username = new TextField<String>("username", new PropertyModel<String>(properties, "username")));

となっている箇所で

    username.setType(String.class);

を追加したら一応警告は出なくなったんだけど…これなら最初からStringなど特定の型のフィールドを用意した方がいいような気がする。