2012-02-20 1 views
0

Возможно, это вопрос, который у меня есть, но у меня есть эта форма в html!Wicket: форма модельный объект, заполненный нулем

<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 contrains только одна поле, называемое «поле» (+ геттер/сеттер/конструктор), и я попытался с Stringa и Integer, ничего, кажется, подходит, я только получаю пустой каждый раз.

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

Спасибо всем

А.

+0

Выглядит хорошо для меня. Покажите нам OneIntContext. – svenmeier

ответ

0

Трудно дать однозначный ответ без ответа на вопрос SvenMeier в выше. Кроме того, было бы хорошо знать, что вернуло нуль в строке, где вы получили свое исключение 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(); 
Смежные вопросы