Wicket:填充null的表单模型对象

时间:2012-02-20 23:44:38

标签: java forms wicket

这可能是我失踪的问题,但我在html中有这个表格!

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

,在提交时,填写表单的模型对象为null,无论我在字段中输入什么。

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。

有没有人有任何想法?

谢谢大家

一个。

1 个答案:

答案 0 :(得分: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();