同じモデルが TextField とその周囲の FormComponentPanel で使用されている場合、次のコードのモデル オブジェクトが常に null である理由を理解したいと思います。
public class MyPanel extends FormComponentPanel<String> {
private TextField<String> _field;
public MyPanel(String id, IModel<String> model) {
super(id, model);
_field = new TextField<String>("field", model);
add(_field);
}
}
Javadocs で説明されている Panel の convertInput をオーバーライドすることで、これを修正できることはわかっています。
@Override
protected void convertInput() {
setConvertedInput(_field.getConvertedInput());
}
TextField の変更によってモデルが期待どおりに更新されない理由を理解したいと思います。モデル オブジェクトをユーザーの入力に設定します。