Калитка: объект модели формы, заполненный нулем

Вероятно, это вопрос о том, чего мне не хватает, но у меня есть эта форма в html!

<form wicket:id="expiration">
<input type="text" wicket:id="field"/>
    <span class="button" wicket:id="expirationsubmit">Submit</span>
</form>

который при отправке заполняет объект модели формы нулевым значением, которое я ввожу в поле.

final Form expirationForm = new Form("expiration");
OneIntContext expirationContext = new OneIntContext("0");
expirationForm.setModel(new CompoundPropertyModel(expirationContext));
expirationForm.add(new TextField("field"));
expirationForm.add(new AjaxSubmitLink("expirationsubmit") {
    @Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
        OneIntContext context = (OneIntContext) expirationForm.getModelObject();
        context.getField().toString();//this throws a NullPointerException
        //validations and actions
    }
}

OneIntContext ограничивает только одно поле с именем «field» (+ getter / setter / constructor), и я пробовал использовать Stringa и Integer, ничего не подходит, я получаю только null каждый раз.

Есть ли у кого-нибудь какие-нибудь идеи?

Спасибо вам всем

A.


person Aliénor Latour    schedule 20.02.2012    source источник
comment
Мне кажется, это нормально. Покажите нам OneIntContext.   -  person svenmeier    schedule 21.02.2012


Ответы (1)


Без ответа на заданный выше вопрос СвенМейера сложно дать однозначный ответ. Кроме того, было бы хорошо знать, что вернуло значение null в строке, в которой вы получили исключение NullPointerException.

Однако во многих моих методах onSubmit () я использую код следующей формы, чтобы получить доступ к объекту загружаемых съемных моделей составного свойства:

Form frm = getForm();    // You might want to try using the form parameter instead
CompoundPropertyModel cpmModel = (CompoundPropertyModel)frm.getModel();
PageStatementSummaryModel pmModel =
 (PageStatementSummaryModel)cpmModel.getChainedModel();
PageStatementSummaryData pdData = pmModel.getObject();
person Ian Marshall    schedule 21.02.2012