2012-02-20 29 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僅稱爲「場」(+的getter/setter /構造函數),我試着用Stringa和一個整數一個領域,似乎什麼都不適合,我只得到空每次。

有沒有人有任何想法?

謝謝大家

A.

+0

看起來好像沒什麼問題。向我們展示OneIntContext。 – svenmeier 2012-02-21 06:45:51

回答

0

這是很難給出一個明確的答案,而不回答上述SvenMeier的問題。另外,最好知道在得到NullPointerException的行中返回null的是什麼。

然而,在許多我的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();